summaryrefslogtreecommitdiff
path: root/pbx
diff options
context:
space:
mode:
authorLuigi Rizzo <rizzo@icir.org>2006-04-26 23:18:03 +0000
committerLuigi Rizzo <rizzo@icir.org>2006-04-26 23:18:03 +0000
commitf52022fc6f4cf0e9d93ae396798a0a6c15ec2f0c (patch)
tree2cccc81caea758ddc3584a7e2ff94299e2b40dca /pbx
parentdf5635d844c990464a3ac26adbd079be80554eaf (diff)
remove common blocks of code with a macro (waiting for a better
solution). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx')
-rw-r--r--pbx/ael/ael.flex89
-rw-r--r--pbx/ael/ael_lex.c229
2 files changed, 162 insertions, 156 deletions
diff --git a/pbx/ael/ael.flex b/pbx/ael/ael.flex
index 9466c6c45..6748135fd 100644
--- a/pbx/ael/ael.flex
+++ b/pbx/ael/ael.flex
@@ -56,6 +56,12 @@ struct stackelement {
static struct stackelement include_stack[MAX_INCLUDE_DEPTH];
static int include_stack_index = 0;
+#define STORE_POS do { \
+ yylloc->first_line = yylloc->last_line = my_lineno; \
+ yylloc->last_column=my_col+yyleng-1; \
+ yylloc->first_column=my_col; \
+ my_col+=yyleng; \
+ } while (0)
%}
%x paren semic argg
@@ -69,55 +75,52 @@ static int include_stack_index = 0;
%option noyywrap
%%
-\{ {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return LC;}
-\} {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return RC;}
-\( {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return LP;}
-\) {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return RP;}
-\; {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return SEMI;}
-\= {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return EQ;}
-\, {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return COMMA;}
-\: {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return COLON;}
-\& {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return AMPER;}
-\| {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return BAR;}
-\=\> {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return EXTENMARK;}
-\@ {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return AT;}
-\/\/[^\n]* {/*comment*/}
-context {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_CONTEXT;}
-abstract {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_ABSTRACT;}
-macro {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_MACRO;};
-globals {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_GLOBALS;}
-ignorepat {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_IGNOREPAT;}
-switch {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_SWITCH;}
-if {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_IF;}
-ifTime {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_IFTIME;}
-random {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_RANDOM;}
-regexten {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_REGEXTEN;}
-hint {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_HINT;}
-else {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_ELSE;}
-goto {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_GOTO;}
-jump {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_JUMP;}
-return {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_RETURN;}
-break {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_BREAK;}
-continue {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_CONTINUE;}
-for {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_FOR;}
-while {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_WHILE;}
-case {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_CASE;}
-default {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_DEFAULT;}
-pattern {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_PATTERN;}
-catch {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_CATCH;}
-switches {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_SWITCHES;}
-eswitches {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_ESWITCHES;}
-includes {yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_INCLUDES;}
+\{ { STORE_POS; return LC;}
+\} { STORE_POS; return RC;}
+\( { STORE_POS; return LP;}
+\) { STORE_POS; return RP;}
+\; { STORE_POS; return SEMI;}
+\= { STORE_POS; return EQ;}
+\, { STORE_POS; return COMMA;}
+\: { STORE_POS; return COLON;}
+\& { STORE_POS; return AMPER;}
+\| { STORE_POS; return BAR;}
+\=\> { STORE_POS; return EXTENMARK;}
+\@ { STORE_POS; return AT;}
+\/\/[^\n]* {/*comment*/}
+context { STORE_POS; return KW_CONTEXT;}
+abstract { STORE_POS; return KW_ABSTRACT;}
+macro { STORE_POS; return KW_MACRO;};
+globals { STORE_POS; return KW_GLOBALS;}
+ignorepat { STORE_POS; return KW_IGNOREPAT;}
+switch { STORE_POS; return KW_SWITCH;}
+if { STORE_POS; return KW_IF;}
+ifTime { STORE_POS; return KW_IFTIME;}
+random { STORE_POS; return KW_RANDOM;}
+regexten { STORE_POS; return KW_REGEXTEN;}
+hint { STORE_POS; return KW_HINT;}
+else { STORE_POS; return KW_ELSE;}
+goto { STORE_POS; return KW_GOTO;}
+jump { STORE_POS; return KW_JUMP;}
+return { STORE_POS; return KW_RETURN;}
+break { STORE_POS; return KW_BREAK;}
+continue { STORE_POS; return KW_CONTINUE;}
+for { STORE_POS; return KW_FOR;}
+while { STORE_POS; return KW_WHILE;}
+case { STORE_POS; return KW_CASE;}
+default { STORE_POS; return KW_DEFAULT;}
+pattern { STORE_POS; return KW_PATTERN;}
+catch { STORE_POS; return KW_CATCH;}
+switches { STORE_POS; return KW_SWITCHES;}
+eswitches { STORE_POS; return KW_ESWITCHES;}
+includes { STORE_POS; return KW_INCLUDES;}
\n {my_lineno++;my_col=0;}
[ ]+ {/* nothing */ my_col+=yyleng;}
[ ]+ {/* nothing */ int wid = 8-(my_col%8); my_col+=wid;}
[-a-zA-Z0-9'"_/.\<\>\*\+!$#\[\]][-a-zA-Z0-9'"_/.!\*\+\<\>\{\}$#\[\]]* {
- yylloc->first_line = yylloc->last_line = my_lineno;
- yylloc->last_column=my_col+yyleng-1;
- yylloc->first_column=my_col; /* set up the ptr */
- my_col+=yyleng;
+ STORE_POS;
yylval->str = strdup(yytext);
/* printf("\nGot WORD %s[%d][%d:%d]\n", yylval->str, my_lineno ,yylloc->first_column,yylloc->last_column ); */
prev_word = yylval->str;
diff --git a/pbx/ael/ael_lex.c b/pbx/ael/ael_lex.c
index 3e6ced136..aa53ebf96 100644
--- a/pbx/ael/ael_lex.c
+++ b/pbx/ael/ael_lex.c
@@ -691,9 +691,15 @@ struct stackelement {
static struct stackelement include_stack[MAX_INCLUDE_DEPTH];
static int include_stack_index = 0;
+#define STORE_POS do { \
+ yylloc->first_line = yylloc->last_line = my_lineno; \
+ yylloc->last_column=my_col+yyleng-1; \
+ yylloc->first_column=my_col; \
+ my_col+=yyleng; \
+ } while (0)
/* %option yylineno I've tried hard, but haven't been able to use this */
-#line 697 "ael_lex.c"
+#line 703 "ael_lex.c"
#define INITIAL 0
#define paren 1
@@ -933,9 +939,9 @@ YY_DECL
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 71 "ael.flex"
+#line 77 "ael.flex"
-#line 939 "ael_lex.c"
+#line 945 "ael_lex.c"
yylval = yylval_param;
@@ -1026,223 +1032,220 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 72 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return LC;}
+#line 78 "ael.flex"
+{ STORE_POS; return LC;}
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 73 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return RC;}
+#line 79 "ael.flex"
+{ STORE_POS; return RC;}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 74 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return LP;}
+#line 80 "ael.flex"
+{ STORE_POS; return LP;}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 75 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return RP;}
+#line 81 "ael.flex"
+{ STORE_POS; return RP;}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 76 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return SEMI;}
+#line 82 "ael.flex"
+{ STORE_POS; return SEMI;}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 77 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return EQ;}
+#line 83 "ael.flex"
+{ STORE_POS; return EQ;}
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 78 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return COMMA;}
+#line 84 "ael.flex"
+{ STORE_POS; return COMMA;}
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 79 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return COLON;}
+#line 85 "ael.flex"
+{ STORE_POS; return COLON;}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 80 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return AMPER;}
+#line 86 "ael.flex"
+{ STORE_POS; return AMPER;}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 81 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return BAR;}
+#line 87 "ael.flex"
+{ STORE_POS; return BAR;}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 82 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return EXTENMARK;}
+#line 88 "ael.flex"
+{ STORE_POS; return EXTENMARK;}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 83 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return AT;}
+#line 89 "ael.flex"
+{ STORE_POS; return AT;}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 84 "ael.flex"
+#line 90 "ael.flex"
{/*comment*/}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 85 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_CONTEXT;}
+#line 91 "ael.flex"
+{ STORE_POS; return KW_CONTEXT;}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 86 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_ABSTRACT;}
+#line 92 "ael.flex"
+{ STORE_POS; return KW_ABSTRACT;}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 87 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_MACRO;};
+#line 93 "ael.flex"
+{ STORE_POS; return KW_MACRO;};
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 88 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_GLOBALS;}
+#line 94 "ael.flex"
+{ STORE_POS; return KW_GLOBALS;}
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 89 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_IGNOREPAT;}
+#line 95 "ael.flex"
+{ STORE_POS; return KW_IGNOREPAT;}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 90 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_SWITCH;}
+#line 96 "ael.flex"
+{ STORE_POS; return KW_SWITCH;}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 91 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_IF;}
+#line 97 "ael.flex"
+{ STORE_POS; return KW_IF;}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 92 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_IFTIME;}
+#line 98 "ael.flex"
+{ STORE_POS; return KW_IFTIME;}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 93 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_RANDOM;}
+#line 99 "ael.flex"
+{ STORE_POS; return KW_RANDOM;}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 94 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_REGEXTEN;}
+#line 100 "ael.flex"
+{ STORE_POS; return KW_REGEXTEN;}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 95 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_HINT;}
+#line 101 "ael.flex"
+{ STORE_POS; return KW_HINT;}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 96 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_ELSE;}
+#line 102 "ael.flex"
+{ STORE_POS; return KW_ELSE;}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 97 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_GOTO;}
+#line 103 "ael.flex"
+{ STORE_POS; return KW_GOTO;}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 98 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_JUMP;}
+#line 104 "ael.flex"
+{ STORE_POS; return KW_JUMP;}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 99 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_RETURN;}
+#line 105 "ael.flex"
+{ STORE_POS; return KW_RETURN;}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 100 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_BREAK;}
+#line 106 "ael.flex"
+{ STORE_POS; return KW_BREAK;}
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 101 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_CONTINUE;}
+#line 107 "ael.flex"
+{ STORE_POS; return KW_CONTINUE;}
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 102 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_FOR;}
+#line 108 "ael.flex"
+{ STORE_POS; return KW_FOR;}
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 103 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_WHILE;}
+#line 109 "ael.flex"
+{ STORE_POS; return KW_WHILE;}
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 104 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_CASE;}
+#line 110 "ael.flex"
+{ STORE_POS; return KW_CASE;}
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 105 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_DEFAULT;}
+#line 111 "ael.flex"
+{ STORE_POS; return KW_DEFAULT;}
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 106 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_PATTERN;}
+#line 112 "ael.flex"
+{ STORE_POS; return KW_PATTERN;}
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 107 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_CATCH;}
+#line 113 "ael.flex"
+{ STORE_POS; return KW_CATCH;}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 108 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_SWITCHES;}
+#line 114 "ael.flex"
+{ STORE_POS; return KW_SWITCHES;}
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 109 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_ESWITCHES;}
+#line 115 "ael.flex"
+{ STORE_POS; return KW_ESWITCHES;}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 110 "ael.flex"
-{yylloc->first_line = yylloc->last_line = my_lineno; yylloc->last_column=my_col+yyleng-1; yylloc->first_column=my_col;my_col+=yyleng;return KW_INCLUDES;}
+#line 116 "ael.flex"
+{ STORE_POS; return KW_INCLUDES;}
YY_BREAK
case 40:
/* rule 40 can match eol */
YY_RULE_SETUP
-#line 112 "ael.flex"
+#line 118 "ael.flex"
{my_lineno++;my_col=0;}
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 113 "ael.flex"
+#line 119 "ael.flex"
{/* nothing */ my_col+=yyleng;}
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 114 "ael.flex"
+#line 120 "ael.flex"
{/* nothing */ int wid = 8-(my_col%8); my_col+=wid;}
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 116 "ael.flex"
+#line 122 "ael.flex"
{
- yylloc->first_line = yylloc->last_line = my_lineno;
- yylloc->last_column=my_col+yyleng-1;
- yylloc->first_column=my_col; /* set up the ptr */
- my_col+=yyleng;
+ STORE_POS;
yylval->str = strdup(yytext);
/* printf("\nGot WORD %s[%d][%d:%d]\n", yylval->str, my_lineno ,yylloc->first_column,yylloc->last_column ); */
prev_word = yylval->str;
@@ -1252,7 +1255,7 @@ YY_RULE_SETUP
case 44:
/* rule 44 can match eol */
YY_RULE_SETUP
-#line 127 "ael.flex"
+#line 130 "ael.flex"
{
yylloc->first_line = my_lineno;
yylloc->first_column=my_col;
@@ -1292,7 +1295,7 @@ YY_RULE_SETUP
case 45:
/* rule 45 can match eol */
YY_RULE_SETUP
-#line 163 "ael.flex"
+#line 166 "ael.flex"
{
yylloc->first_line = my_lineno; yylloc->first_column=my_col;
parencount++;
@@ -1303,13 +1306,13 @@ YY_RULE_SETUP
case 46:
/* rule 46 can match eol */
YY_RULE_SETUP
-#line 170 "ael.flex"
+#line 173 "ael.flex"
{yylloc->first_line = my_lineno;yylloc->first_column=my_col; yymore(); pbcpush('['); }
YY_BREAK
case 47:
/* rule 47 can match eol */
YY_RULE_SETUP
-#line 172 "ael.flex"
+#line 175 "ael.flex"
{
yylloc->first_line = my_lineno;yylloc->first_column=my_col;
if ( pbcpop(']') ) {
@@ -1331,13 +1334,13 @@ YY_RULE_SETUP
case 48:
/* rule 48 can match eol */
YY_RULE_SETUP
-#line 190 "ael.flex"
+#line 193 "ael.flex"
{yylloc->first_line = my_lineno;yylloc->first_column=my_col; yymore(); pbcpush('{'); }
YY_BREAK
case 49:
/* rule 49 can match eol */
YY_RULE_SETUP
-#line 192 "ael.flex"
+#line 195 "ael.flex"
{
yylloc->first_line = my_lineno;
yylloc->first_column=my_col;
@@ -1360,7 +1363,7 @@ YY_RULE_SETUP
case 50:
/* rule 50 can match eol */
YY_RULE_SETUP
-#line 211 "ael.flex"
+#line 214 "ael.flex"
{
/* printf("ARGG:%s\n",yytext); */
int linecount = 0;
@@ -1420,7 +1423,7 @@ YY_RULE_SETUP
case 51:
/* rule 51 can match eol */
YY_RULE_SETUP
-#line 267 "ael.flex"
+#line 270 "ael.flex"
{
/* printf("ARGG:%s\n",yytext); */
/* printf("GOT AN LP!!!\n"); */
@@ -1434,7 +1437,7 @@ YY_RULE_SETUP
case 52:
/* rule 52 can match eol */
YY_RULE_SETUP
-#line 277 "ael.flex"
+#line 280 "ael.flex"
{
/* printf("ARGG:%s\n",yytext); */
if( parencount != 0) {
@@ -1484,7 +1487,7 @@ YY_RULE_SETUP
case 53:
/* rule 53 can match eol */
YY_RULE_SETUP
-#line 323 "ael.flex"
+#line 326 "ael.flex"
{
/*printf("ARGG:%s\n",yytext);*/
yylloc->first_line = my_lineno;
@@ -1495,7 +1498,7 @@ YY_RULE_SETUP
case 54:
/* rule 54 can match eol */
YY_RULE_SETUP
-#line 330 "ael.flex"
+#line 333 "ael.flex"
{
/*printf("ARGG:%s\n",yytext);*/yylloc->first_line = my_lineno;yylloc->first_column=my_col;
if ( pbcpop('}') ) {
@@ -1517,13 +1520,13 @@ YY_RULE_SETUP
case 55:
/* rule 55 can match eol */
YY_RULE_SETUP
-#line 348 "ael.flex"
+#line 351 "ael.flex"
{/*printf("ARGG:%s\n",yytext);*/yylloc->first_line = my_lineno;yylloc->first_column=my_col; yymore(); pbcpush('['); }
YY_BREAK
case 56:
/* rule 56 can match eol */
YY_RULE_SETUP
-#line 350 "ael.flex"
+#line 353 "ael.flex"
{/*printf("ARGG:%s\n",yytext);*/yylloc->first_line = my_lineno;yylloc->first_column=my_col;
if ( pbcpop(']') ) {
/* error */
@@ -1544,13 +1547,13 @@ YY_RULE_SETUP
case 57:
/* rule 57 can match eol */
YY_RULE_SETUP
-#line 367 "ael.flex"
+#line 370 "ael.flex"
{/*printf("SEMIC:%s\n",yytext);*/yylloc->first_line = my_lineno;yylloc->first_column=my_col; yymore(); pbcpush('['); }
YY_BREAK
case 58:
/* rule 58 can match eol */
YY_RULE_SETUP
-#line 369 "ael.flex"
+#line 372 "ael.flex"
{/*printf("SEMIC:%s\n",yytext);*/yylloc->first_line = my_lineno;yylloc->first_column=my_col;
if ( pbcpop(']') ) {
/* error */
@@ -1571,13 +1574,13 @@ YY_RULE_SETUP
case 59:
/* rule 59 can match eol */
YY_RULE_SETUP
-#line 386 "ael.flex"
+#line 389 "ael.flex"
{/*printf("SEMIC:%s\n",yytext);*/yylloc->first_line = my_lineno;yylloc->first_column=my_col; yymore(); pbcpush('{');}
YY_BREAK
case 60:
/* rule 60 can match eol */
YY_RULE_SETUP
-#line 388 "ael.flex"
+#line 391 "ael.flex"
{/*printf("SEMIC:%s\n",yytext);*/yylloc->first_line = my_lineno;yylloc->first_column=my_col;
if ( pbcpop('}') ) {
/* error */
@@ -1598,13 +1601,13 @@ YY_RULE_SETUP
case 61:
/* rule 61 can match eol */
YY_RULE_SETUP
-#line 405 "ael.flex"
+#line 408 "ael.flex"
{/*printf("SEMIC:%s\n",yytext);*/yylloc->first_line = my_lineno;yylloc->first_column=my_col; yymore(); pbcpush('(');}
YY_BREAK
case 62:
/* rule 62 can match eol */
YY_RULE_SETUP
-#line 407 "ael.flex"
+#line 410 "ael.flex"
{/*printf("SEMIC:%s\n",yytext);*/yylloc->first_line = my_lineno;yylloc->first_column=my_col;
if ( pbcpop(')') ) {
/* error */
@@ -1625,7 +1628,7 @@ YY_RULE_SETUP
case 63:
/* rule 63 can match eol */
YY_RULE_SETUP
-#line 424 "ael.flex"
+#line 427 "ael.flex"
{
int linecount = 0;
int colcount = my_col;
@@ -1656,7 +1659,7 @@ YY_RULE_SETUP
case 64:
/* rule 64 can match eol */
YY_RULE_SETUP
-#line 451 "ael.flex"
+#line 454 "ael.flex"
{
FILE *in1;
char fnamebuf[1024],*p1,*p2;
@@ -1723,7 +1726,7 @@ case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(paren):
case YY_STATE_EOF(semic):
case YY_STATE_EOF(argg):
-#line 513 "ael.flex"
+#line 516 "ael.flex"
{
if ( --include_stack_index < 0 ) {
yyterminate();
@@ -1739,10 +1742,10 @@ case YY_STATE_EOF(argg):
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 526 "ael.flex"
+#line 529 "ael.flex"
ECHO;
YY_BREAK
-#line 1746 "ael_lex.c"
+#line 1749 "ael_lex.c"
case YY_END_OF_BUFFER:
{
@@ -2872,7 +2875,7 @@ void ael_yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 526 "ael.flex"
+#line 529 "ael.flex"