From 318df7804a575ba518f9179622ef05e5ba28e31d Mon Sep 17 00:00:00 2001 From: Steve Beattie Date: Fri, 27 Jul 2007 20:48:24 +0000 Subject: [PATCH] Patch from jjohansen@suse.de Acked-By: Steve Beattie Allow using the keyword "hat" in place of the magic symbol '^' --- parser/parser_lex.l | 6 ++++++ parser/parser_yacc.y | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/parser/parser_lex.l b/parser/parser_lex.l index 40cbbdfca..ac5b1fab8 100644 --- a/parser/parser_lex.l +++ b/parser/parser_lex.l @@ -62,6 +62,7 @@ IP {NUMBER}\.{NUMBER}\.{NUMBER}\.{NUMBER} ALLOWED_QUOTED_ID [^\0"]|\\\" QUOTED_ID \"{ALLOWED_QUOTED_ID}*\" +HAT hat[ \t]+ KEYWORD [[:alpha:]_]+ VARIABLE_NAME [[:alpha:]][[:alnum:]_]* SET_VAR_PREFIX @ @@ -340,6 +341,11 @@ ADD_ASSIGN \+= return TOK_MODE; } +{HAT} { + BEGIN(SUB_NAME); + return TOK_HAT; + } + {KEYWORD} { int token = get_keyword_token(yytext); diff --git a/parser/parser_yacc.y b/parser/parser_yacc.y index a11e98fce..1860d8677 100644 --- a/parser/parser_yacc.y +++ b/parser/parser_yacc.y @@ -87,6 +87,7 @@ void free_value_list(struct value_list *list); %token TOK_DEFINED %token TOK_CHANGE_PROFILE %token TOK_NETWORK +%token TOK_HAT /* network tokens */ %token TOK_IP @@ -593,7 +594,7 @@ rule: TOK_ID file_mode TOK_ID yyerror(_("missing an end of line character? (entry: %s)"), $1); }; -hat: TOK_SEP TOK_ID flags TOK_OPEN rules TOK_CLOSE +hat: hat_start TOK_ID flags TOK_OPEN rules TOK_CLOSE { struct codomain *cod = $5; PDEBUG("Matched: sep id (%s) open rules close\n", $2); @@ -688,6 +689,9 @@ action: TOK_TCP_CONN { $$ = AA_TCP_CONNECT; } | TOK_UDP_RECV { $$ = AA_UDP_RECEIVE; } ; +hat_start: TOK_SEP {} + | TOK_HAT {} + file_mode: TOK_MODE { $$ = parse_mode($1);