aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-27 18:50:44 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-27 18:50:44 +0000
commit0c96bd8c5ffc1d7494381a5aed878d36fbf35a83 (patch)
tree1ecb2c0084d4c0702472303556e2b8b2b80164c2
parent942e20012a449ab62185f69049601f8a0a9b4392 (diff)
made AEL 8-bit transparent; mainly the lexer was tossing chars with the hi-order bit set. Not nice. Also, allow @ in extension names, and a backslash, also.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89682 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--pbx/ael/ael-test/ref.ael-ntest1049
-rw-r--r--pbx/ael/ael-test/ref.ael-ntest1217
-rw-r--r--pbx/ael/ael-test/ref.ael-ntest2263
-rw-r--r--pbx/ael/ael-test/ref.ael-ntest917
-rw-r--r--pbx/ael/ael-test/ref.ael-test129
-rw-r--r--pbx/ael/ael-test/ref.ael-test1119
-rw-r--r--pbx/ael/ael-test/ref.ael-test1415
-rw-r--r--pbx/ael/ael-test/ref.ael-test1515
-rw-r--r--pbx/ael/ael-test/ref.ael-test1617
-rw-r--r--pbx/ael/ael-test/ref.ael-test1815
-rw-r--r--pbx/ael/ael-test/ref.ael-test1929
-rw-r--r--pbx/ael/ael-test/ref.ael-test249
-rw-r--r--pbx/ael/ael-test/ref.ael-test2015
-rw-r--r--pbx/ael/ael-test/ref.ael-test3191
-rw-r--r--pbx/ael/ael-test/ref.ael-test449
-rw-r--r--pbx/ael/ael-test/ref.ael-test521
-rw-r--r--pbx/ael/ael-test/ref.ael-test641
-rw-r--r--pbx/ael/ael-test/ref.ael-test731
-rw-r--r--pbx/ael/ael-test/ref.ael-test815
-rw-r--r--res/ael/ael.flex6
-rw-r--r--res/ael/ael.tab.c961
-rw-r--r--res/ael/ael.y9
-rw-r--r--res/ael/ael_lex.c668
23 files changed, 1174 insertions, 1167 deletions
diff --git a/pbx/ael/ael-test/ref.ael-ntest10 b/pbx/ael/ael-test/ref.ael-ntest10
index 7e43b9702..9eb8ac989 100644
--- a/pbx/ael/ael-test/ref.ael-ntest10
+++ b/pbx/ael/ael-test/ref.ael-ntest10
@@ -5,27 +5,26 @@
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1-4: The macro endsess does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 6-9: The macro nullchk does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 11-26: The macro endcall does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 13-13: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 28-44: The macro endcall2 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 36-36: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 46-68: The macro endcall3 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 48-48: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 60-60: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 70-96: The macro endcall4 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 72-72: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 84-84: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 87-87: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 98-131: The macro endcall5 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 106-106: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 119-119: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 122-122: A default case was automatically added to the switch.
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1-4: The macro endsess does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 6-9: The macro nullchk does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 11-26: The macro endcall does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 13-13: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 28-44: The macro endcall2 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 36-36: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 46-68: The macro endcall3 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 48-48: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 60-60: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 70-96: The macro endcall4 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 72-72: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 84-84: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 87-87: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 98-131: The macro endcall5 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 106-106: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 119-119: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 122-122: A default case was automatically added to the switch.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
Executed ast_context_create(conts, name=endsess, registrar=pbx_ael);
Executed ast_context_create(conts, name=nullchk, registrar=pbx_ael);
Executed ast_context_create(conts, name=endcall, registrar=pbx_ael);
@@ -164,9 +163,9 @@ Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=1
Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=13, label=(null), callerid=(null), appl=Goto, data=sw-21-in,ptr1, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=14, label=(null), callerid=(null), appl=NoOp, data=Finish if-sw-endcall5-out-16-17, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=15, label=(null), callerid=(null), appl=Goto, data=sw-16-in,10, FREE, registrar=pbx_ael);
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
Executed ast_merge_contexts_and_delete();
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
Executed ast_walk_contexts();
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:527 func: main 7 contexts, 37 extensions, 131 priorities
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 7 contexts, 37 extensions, 131 priorities
diff --git a/pbx/ael/ael-test/ref.ael-ntest12 b/pbx/ael/ael-test/ref.ael-ntest12
index 99191200a..184ce2d6c 100644
--- a/pbx/ael/ael-test/ref.ael-ntest12
+++ b/pbx/ael/ael-test/ref.ael-ntest12
@@ -5,11 +5,10 @@
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:3910 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:3917 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:3925 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:3928 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-Executed ast_context_create(conts, name=test1, registrar=pbx_ael);
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+Executed ast_context_find_or_create(conts, name=test1, registrar=pbx_ael);
Executed ast_add_extension2(context=test1, rep=0, exten=771, priority=1, label=(null), callerid=(null), appl=Set, data=i=$[0], FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=test1, rep=0, exten=771, priority=2, label=(null), callerid=(null), appl=GotoIf, data=$[
${i} <= 3]?3:6, FREE, registrar=pbx_ael);
@@ -23,9 +22,9 @@ Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=3, label=(
Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=4, label=(null), callerid=(null), appl=Set, data=i=$[ ${i} + 1 ], FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=5, label=(null), callerid=(null), appl=Goto, data=2, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=6, label=(null), callerid=(null), appl=NoOp, data=Finish for-test1-2, FREE, registrar=pbx_ael);
-LOG: lev:2 file:pbx_ael.c line:3930 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
Executed ast_merge_contexts_and_delete();
-LOG: lev:2 file:pbx_ael.c line:3933 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
Executed ast_walk_contexts();
-LOG: lev:2 file:pbx_ael.c line:3936 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:479 func: main 1 contexts, 2 extensions, 12 priorities
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 1 contexts, 2 extensions, 12 priorities
diff --git a/pbx/ael/ael-test/ref.ael-ntest22 b/pbx/ael/ael-test/ref.ael-ntest22
index fcebec18a..c9317f64e 100644
--- a/pbx/ael/ael-test/ref.ael-ntest22
+++ b/pbx/ael/ael-test/ref.ael-ntest22
@@ -5,34 +5,33 @@
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t1/a.ael, 41 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t1/b.ael, 42 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t1/c.ael, 106 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t2/d.ael, 41 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t2/e.ael, 42 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t2/f.ael, 82 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././qq.ael, 45 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t3/g.ael, 41 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t3/h.ael, 42 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t3/i.ael, 41 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././t3/j.ael, 43 chars
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-Executed ast_context_create(conts, name=a, registrar=pbx_ael);
-Executed ast_context_create(conts, name=b, registrar=pbx_ael);
-Executed ast_context_create(conts, name=c, registrar=pbx_ael);
-Executed ast_context_create(conts, name=d, registrar=pbx_ael);
-Executed ast_context_create(conts, name=e, registrar=pbx_ael);
-Executed ast_context_create(conts, name=qq, registrar=pbx_ael);
-Executed ast_context_create(conts, name=f, registrar=pbx_ael);
-Executed ast_context_create(conts, name=g, registrar=pbx_ael);
-Executed ast_context_create(conts, name=h, registrar=pbx_ael);
-Executed ast_context_create(conts, name=i, registrar=pbx_ael);
-Executed ast_context_create(conts, name=j, registrar=pbx_ael);
-Executed ast_context_create(conts, name=w, registrar=pbx_ael);
-Executed ast_context_create(conts, name=z, registrar=pbx_ael);
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t1/a.ael, 41 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t1/b.ael, 42 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t1/c.ael, 106 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t2/d.ael, 41 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t2/e.ael, 42 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t2/f.ael, 82 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././qq.ael, 45 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t3/g.ael, 41 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t3/h.ael, 42 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t3/i.ael, 41 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././t3/j.ael, 43 chars
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+Executed ast_context_find_or_create(conts, name=a, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=b, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=c, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=d, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=e, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=qq, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=f, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=g, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=h, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=i, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=j, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=w, registrar=pbx_ael);
+Executed ast_context_find_or_create(conts, name=z, registrar=pbx_ael);
Executed ast_add_extension2(context=a, rep=0, exten=134, priority=1, label=(null), callerid=(null), appl=NoOp, data=hi there, a, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=b, rep=0, exten=456, priority=1, label=(null), callerid=(null), appl=NoOp, data=hithere, b, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=c, rep=0, exten=567, priority=1, label=(null), callerid=(null), appl=NoOp, data=hi there, c, FREE, registrar=pbx_ael);
@@ -47,9 +46,9 @@ Executed ast_add_extension2(context=j, rep=0, exten=567, priority=1, label=(null
Executed ast_add_extension2(context=w, rep=0, exten=890, priority=1, label=(null), callerid=(null), appl=NoOp, data=hi there, w, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=z, rep=0, exten=123, priority=1, label=(null), callerid=(null), appl=NoOp, data=hi there, z, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=z, rep=0, exten=124, priority=1, label=(null), callerid=(null), appl=NoOp, data=hi there, z, FREE, registrar=pbx_ael);
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
Executed ast_merge_contexts_and_delete();
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
Executed ast_walk_contexts();
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:527 func: main 13 contexts, 13 extensions, 14 priorities
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 13 contexts, 13 extensions, 14 priorities
diff --git a/pbx/ael/ael-test/ref.ael-ntest9 b/pbx/ael/ael-test/ref.ael-ntest9
index 1fe34eceb..e40790e59 100644
--- a/pbx/ael/ael-test/ref.ael-ntest9
+++ b/pbx/ael/ael-test/ref.ael-ntest9
@@ -5,20 +5,19 @@
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:3910 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:3917 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:3925 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:3928 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-Executed ast_context_create(conts, name=workext, registrar=pbx_ael);
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+Executed ast_context_find_or_create(conts, name=workext, registrar=pbx_ael);
Executed ast_context_add_ignorepat2(con, value=8, registrar=pbx_ael);
Executed ast_context_add_ignorepat2(con, value=9, registrar=pbx_ael);
Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=1, label=(null), callerid=(null), appl=Set, data=QUERYSTRING=SELECT\ foo\,\ bar\ FROM\ foobar, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=2, label=(null), callerid=(null), appl=Verbose, data=2|${QUERYSTRING}, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=3, label=(null), callerid=(null), appl=Set, data=query=$["SELECT foo\, bar FROM foobar" ], FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=4, label=(null), callerid=(null), appl=Verbose, data=2|${query}, FREE, registrar=pbx_ael);
-LOG: lev:2 file:pbx_ael.c line:3930 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
Executed ast_merge_contexts_and_delete();
-LOG: lev:2 file:pbx_ael.c line:3933 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
Executed ast_walk_contexts();
-LOG: lev:2 file:pbx_ael.c line:3936 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:479 func: main 1 contexts, 1 extensions, 4 priorities
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 1 contexts, 1 extensions, 4 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test1 b/pbx/ael/ael-test/ref.ael-test1
index 4b4a866b8..5538514fe 100644
--- a/pbx/ael/ael-test/ref.ael-test1
+++ b/pbx/ael/ael-test/ref.ael-test1
@@ -2,18 +2,17 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 2-16: The macro testdial does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 18-25: The macro exten-gen does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:1360 func: check_goto Warning: file ./extensions.ael, line 21-21: It's bad form to have a goto in a macro to a target outside the macro!
-LOG: lev:3 file:pval.c line:1360 func: check_goto Warning: file ./extensions.ael, line 23-23: It's bad form to have a goto in a macro to a target outside the macro!
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 58-58: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:920 func: check_dow Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'!
-LOG: lev:3 file:pval.c line:878 func: check_timerange Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range!
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:527 func: main 5 contexts, 16 extensions, 157 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 2-16: The macro testdial does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 18-25: The macro exten-gen does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:1362 func: check_goto Warning: file ./extensions.ael, line 21-21: It's bad form to have a goto in a macro to a target outside the macro!
+LOG: lev:3 file:pval.c line:1362 func: check_goto Warning: file ./extensions.ael, line 23-23: It's bad form to have a goto in a macro to a target outside the macro!
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 58-58: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:922 func: check_dow Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'!
+LOG: lev:3 file:pval.c line:880 func: check_timerange Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range!
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 5 contexts, 16 extensions, 157 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test11 b/pbx/ael/ael-test/ref.ael-test11
index 6f1e062e4..c47f2b8bf 100644
--- a/pbx/ael/ael-test/ref.ael-test11
+++ b/pbx/ael/ael-test/ref.ael-test11
@@ -2,13 +2,12 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:1680 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:1687 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:1695 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:4 file:pval.c line:1143 func: check_label Error: file ./extensions.ael, line 13-13: Duplicate label lab1! Previously defined at file ./extensions.ael, line 8.
-LOG: lev:3 file:pval.c line:2280 func: check_switch_expr Warning: file ./extensions.ael, line 32-32: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:2280 func: check_switch_expr Warning: file ./extensions.ael, line 44-44: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:2280 func: check_switch_expr Warning: file ./extensions.ael, line 47-47: A default case was automatically added to the switch.
-LOG: lev:4 file:pval.c line:1143 func: check_label Error: file ./extensions.ael, line 49-49: Duplicate label ptr1! Previously defined at file ./extensions.ael, line 33.
-LOG: lev:4 file:pbx_ael.c line:1708 func: pbx_load_module Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile.
-LOG: lev:4 file:ael2_parse line:521 func: main 0 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:4 file:pval.c line:1147 func: check_label Error: file ./extensions.ael, line 13-13: Duplicate label lab1! Previously defined at file ./extensions.ael, line 8.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 32-32: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 44-44: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 47-47: A default case was automatically added to the switch.
+LOG: lev:4 file:pval.c line:1147 func: check_label Error: file ./extensions.ael, line 49-49: Duplicate label ptr1! Previously defined at file ./extensions.ael, line 33.
+LOG: lev:4 file:pbx_ael.c line:139 func: pbx_load_module Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse line:531 func: main 0 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test14 b/pbx/ael/ael-test/ref.ael-test14
index 6c0d3770a..2cd4ed1b1 100644
--- a/pbx/ael/ael-test/ref.ael-test14
+++ b/pbx/ael/ael-test/ref.ael-test14
@@ -2,11 +2,10 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:1680 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:1687 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:1695 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:2280 func: check_switch_expr Warning: file ./extensions.ael, line 13-13: A default case was automatically added to the switch.
-LOG: lev:4 file:pval.c line:1067 func: check_continue Error: file ./extensions.ael, line 15-15: 'continue' not in 'for' or 'while' statement!
-LOG: lev:4 file:pval.c line:1048 func: check_break Error: file ./extensions.ael, line 17-17: 'break' not in switch, for, or while statement!
-LOG: lev:4 file:pbx_ael.c line:1708 func: pbx_load_module Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile.
-LOG: lev:4 file:ael2_parse line:521 func: main 0 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 13-13: A default case was automatically added to the switch.
+LOG: lev:4 file:pval.c line:1071 func: check_continue Error: file ./extensions.ael, line 15-15: 'continue' not in 'for' or 'while' statement!
+LOG: lev:4 file:pval.c line:1052 func: check_break Error: file ./extensions.ael, line 17-17: 'break' not in switch, for, or while statement!
+LOG: lev:4 file:pbx_ael.c line:139 func: pbx_load_module Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse line:531 func: main 0 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test15 b/pbx/ael/ael-test/ref.ael-test15
index 892e51649..995068563 100644
--- a/pbx/ael/ael-test/ref.ael-test15
+++ b/pbx/ael/ael-test/ref.ael-test15
@@ -3,11 +3,10 @@
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:120 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:128 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:3905 func: ast_compile_ael2 Warning: file ./extensions.ael, line 8-13: Empty Extension!
-LOG: lev:2 file:pbx_ael.c line:133 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:136 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:139 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:499 func: main 1 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:4070 func: ast_compile_ael2 Warning: file ./extensions.ael, line 8-13: Empty Extension!
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 1 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test16 b/pbx/ael/ael-test/ref.ael-test16
index 9bbca8bee..f43257d46 100644
--- a/pbx/ael/ael-test/ref.ael-test16
+++ b/pbx/ael/ael-test/ref.ael-test16
@@ -2,12 +2,11 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:3784 func: add_extensions This file is Empty!
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:543 func: main 1 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:3786 func: add_extensions This file is Empty!
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 1 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test18 b/pbx/ael/ael-test/ref.ael-test18
index a0972f55e..072135ef2 100644
--- a/pbx/ael/ael-test/ref.ael-test18
+++ b/pbx/ael/ael-test/ref.ael-test18
@@ -2,11 +2,10 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:4069 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:4076 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:4084 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:4087 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:4089 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:4092 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:4095 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:527 func: main 1 contexts, 7 extensions, 27 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 1 contexts, 7 extensions, 27 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test19 b/pbx/ael/ael-test/ref.ael-test19
index f0ab66717..e093d75e5 100644
--- a/pbx/ael/ael-test/ref.ael-test19
+++ b/pbx/ael/ael-test/ref.ael-test19
@@ -2,18 +2,17 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:2298 func: check_context_names Warning: file ./extensions.ael, line 49-62: The context name (incoming) is also declared in file ./extensions.ael, line 62-69! (and neither is marked 'extend')
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 71-175: The macro std-priv-exten does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 245-246: A default case was automatically added to the switch.
-LOG: lev:3 file:pval.c line:2424 func: check_pval_item Warning: file ./extensions.ael, line 312-312: macro call to non-existent funcA! (Not even in the extensions.conf stuff!)
-LOG: lev:3 file:pval.c line:2424 func: check_pval_item Warning: file ./extensions.ael, line 313-313: macro call to non-existent funcD! (Not even in the extensions.conf stuff!)
-LOG: lev:3 file:pval.c line:1344 func: check_goto Warning: file ./extensions.ael, line 319-319: goto: Couldn't find goto target test5|s|1, not even in extensions.conf!
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 363-366: The macro dialoutpstn does not end with a return; I will insert one.
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:543 func: main 13 contexts, 57 extensions, 188 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:2300 func: check_context_names Warning: file ./extensions.ael, line 49-62: The context name (incoming) is also declared in file ./extensions.ael, line 62-69! (and neither is marked 'extend')
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 71-175: The macro std-priv-exten does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:2284 func: check_switch_expr Warning: file ./extensions.ael, line 245-246: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c line:2426 func: check_pval_item Warning: file ./extensions.ael, line 312-312: macro call to non-existent funcA! (Not even in the extensions.conf stuff!)
+LOG: lev:3 file:pval.c line:2426 func: check_pval_item Warning: file ./extensions.ael, line 313-313: macro call to non-existent funcD! (Not even in the extensions.conf stuff!)
+LOG: lev:3 file:pval.c line:1346 func: check_goto Warning: file ./extensions.ael, line 319-319: goto: Couldn't find goto target test5|s|1, not even in extensions.conf!
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 363-366: The macro dialoutpstn does not end with a return; I will insert one.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 13 contexts, 57 extensions, 188 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test2 b/pbx/ael/ael-test/ref.ael-test2
index 1a426c4d9..892b63464 100644
--- a/pbx/ael/ael-test/ref.ael-test2
+++ b/pbx/ael/ael-test/ref.ael-test2
@@ -2,28 +2,27 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././apptest.ael2, 3474 chars
-LOG: lev:3 file:ael.y line:542 func: ael_yyparse ==== File: ././apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL.
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 35-35: application call to EndWhile affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 37-37: application call to ExecIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 38-38: application call to ExecIfTime affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 44-44: application call to Gosub affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 45-45: application call to GosubIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:1344 func: check_goto Warning: file ././apptest.ael2, line 46-46: goto: Couldn't find goto target cont|exten|prior, not even in extensions.conf!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 47-47: application call to GotoIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 48-48: application call to GotoIfTime affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 58-58: application call to Macro affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2510 func: check_pval_item Warning: file ././apptest.ael2, line 59-59: I am converting the MacroExit call here to a return statement.
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 60-60: application call to MacroIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 85-85: application call to Random affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 94-94: application call to Return affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 119-119: application call to StackPop affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 141-141: application call to While affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:527 func: main 1 contexts, 1 extensions, 142 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././apptest.ael2, 3474 chars
+LOG: lev:3 file:ael.y line:546 func: ael_yyparse ==== File: ././apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 35-35: application call to EndWhile affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 37-37: application call to ExecIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 38-38: application call to ExecIfTime affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 44-44: application call to Gosub affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 45-45: application call to GosubIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:1346 func: check_goto Warning: file ././apptest.ael2, line 46-46: goto: Couldn't find goto target cont|exten|prior, not even in extensions.conf!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 47-47: application call to GotoIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 48-48: application call to GotoIfTime affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 58-58: application call to Macro affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2512 func: check_pval_item Warning: file ././apptest.ael2, line 59-59: I am converting the MacroExit call here to a return statement.
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 60-60: application call to MacroIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 85-85: application call to Random affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 94-94: application call to Return affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 119-119: application call to StackPop affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 141-141: application call to While affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 1 contexts, 1 extensions, 142 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test20 b/pbx/ael/ael-test/ref.ael-test20
index 5b424e8ae..065281f94 100644
--- a/pbx/ael/ael-test/ref.ael-test20
+++ b/pbx/ael/ael-test/ref.ael-test20
@@ -2,11 +2,10 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:3915 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:3922 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:3930 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:3933 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:3935 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:3938 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:3941 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:512 func: main 1 contexts, 1 extensions, 1 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 1 contexts, 1 extensions, 1 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test3 b/pbx/ael/ael-test/ref.ael-test3
index 635b87df5..5ff89ef8b 100644
--- a/pbx/ael/ael-test/ref.ael-test3
+++ b/pbx/ael/ael-test/ref.ael-test3
@@ -2,99 +2,98 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././include1.ael2, 78 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././include2.ael2, 98 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././include3.ael2, 57 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././include5.ael2, 56 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././include4.ael2, 87 chars
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././telemarket_torture.ael2, 28036 chars
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 14-34: The macro std-exten does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:1360 func: check_goto Warning: file ./extensions.ael, line 17-17: It's bad form to have a goto in a macro to a target outside the macro!
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 36-59: The macro std-priv-exten_1 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 62-85: The macro std-priv-exten_2 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 88-111: The macro std-priv-exten_3 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 114-137: The macro std-priv-exten_4 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 140-163: The macro std-priv-exten_5 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 166-189: The macro std-priv-exten_6 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 192-215: The macro std-priv-exten_7 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 218-241: The macro std-priv-exten_8 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 244-267: The macro std-priv-exten_9 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 270-293: The macro std-priv-exten_10 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 296-319: The macro std-priv-exten_11 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 322-345: The macro std-priv-exten_12 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 348-371: The macro std-priv-exten_13 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 374-397: The macro std-priv-exten_14 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 400-423: The macro std-priv-exten_15 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 426-449: The macro std-priv-exten_16 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 452-475: The macro std-priv-exten_17 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 478-501: The macro std-priv-exten_18 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 504-527: The macro std-priv-exten_19 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 530-553: The macro std-priv-exten_20 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 556-579: The macro std-priv-exten_21 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 582-605: The macro std-priv-exten_22 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 608-631: The macro std-priv-exten_23 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 634-657: The macro std-priv-exten_24 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 660-683: The macro std-priv-exten_25 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 686-709: The macro std-priv-exten_26 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 712-735: The macro std-priv-exten_27 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 738-761: The macro std-priv-exten_28 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 764-787: The macro std-priv-exten_29 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 790-813: The macro std-priv-exten_30 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 816-839: The macro std-priv-exten_31 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 842-865: The macro std-priv-exten_32 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 868-891: The macro std-priv-exten_33 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 894-917: The macro std-priv-exten_34 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 920-943: The macro std-priv-exten_35 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 946-969: The macro std-priv-exten_36 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 972-995: The macro std-priv-exten_37 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 998-1021: The macro std-priv-exten_38 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1024-1047: The macro std-priv-exten_39 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1050-1073: The macro std-priv-exten_40 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1076-1099: The macro std-priv-exten_41 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1102-1125: The macro std-priv-exten_42 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1128-1151: The macro std-priv-exten_43 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1154-1177: The macro std-priv-exten_44 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1180-1203: The macro std-priv-exten_45 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1206-1229: The macro std-priv-exten_46 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1232-1255: The macro std-priv-exten_47 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1258-1281: The macro std-priv-exten_48 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1284-1307: The macro std-priv-exten_49 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1310-1333: The macro std-priv-exten_50 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1336-1359: The macro std-priv-exten_51 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1362-1385: The macro std-priv-exten_52 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1388-1411: The macro std-priv-exten_53 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1414-1437: The macro std-priv-exten_54 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1440-1463: The macro std-priv-exten_55 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1466-1489: The macro std-priv-exten_56 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1492-1515: The macro std-priv-exten_57 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1518-1541: The macro std-priv-exten_58 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1544-1567: The macro std-priv-exten_59 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1570-1593: The macro std-priv-exten_60 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1596-1619: The macro std-priv-exten_61 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1622-1645: The macro std-priv-exten_62 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1648-1671: The macro std-priv-exten_63 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1674-1697: The macro std-priv-exten_64 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1700-1723: The macro std-priv-exten_65 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1726-1749: The macro std-priv-exten_66 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1752-1775: The macro std-priv-exten_67 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1778-1801: The macro std-priv-exten_68 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1804-1827: The macro std-priv-exten_69 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1830-1853: The macro std-priv-exten_70 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1856-1879: The macro std-priv-exten_71 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1882-1905: The macro std-priv-exten_72 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1908-1931: The macro std-priv-exten_73 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1934-1957: The macro std-priv-exten does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1959-1995: The macro fillcidname does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1997-2015: The macro ciddial does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 2017-2028: The macro ciddial3 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 2030-2048: The macro ciddial2 does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 2050-2065: The macro callerid-liar does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 2067-2072: The macro callerid-bad does not end with a return; I will insert one.
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:527 func: main 172 contexts, 934 extensions, 2482 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././include1.ael2, 78 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././include2.ael2, 98 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././include3.ael2, 57 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././include5.ael2, 56 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././include4.ael2, 87 chars
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././telemarket_torture.ael2, 28036 chars
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 14-34: The macro std-exten does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:1362 func: check_goto Warning: file ./extensions.ael, line 17-17: It's bad form to have a goto in a macro to a target outside the macro!
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 36-59: The macro std-priv-exten_1 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 62-85: The macro std-priv-exten_2 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 88-111: The macro std-priv-exten_3 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 114-137: The macro std-priv-exten_4 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 140-163: The macro std-priv-exten_5 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 166-189: The macro std-priv-exten_6 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 192-215: The macro std-priv-exten_7 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 218-241: The macro std-priv-exten_8 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 244-267: The macro std-priv-exten_9 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 270-293: The macro std-priv-exten_10 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 296-319: The macro std-priv-exten_11 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 322-345: The macro std-priv-exten_12 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 348-371: The macro std-priv-exten_13 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 374-397: The macro std-priv-exten_14 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 400-423: The macro std-priv-exten_15 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 426-449: The macro std-priv-exten_16 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 452-475: The macro std-priv-exten_17 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 478-501: The macro std-priv-exten_18 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 504-527: The macro std-priv-exten_19 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 530-553: The macro std-priv-exten_20 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 556-579: The macro std-priv-exten_21 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 582-605: The macro std-priv-exten_22 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 608-631: The macro std-priv-exten_23 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 634-657: The macro std-priv-exten_24 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 660-683: The macro std-priv-exten_25 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 686-709: The macro std-priv-exten_26 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 712-735: The macro std-priv-exten_27 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 738-761: The macro std-priv-exten_28 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 764-787: The macro std-priv-exten_29 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 790-813: The macro std-priv-exten_30 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 816-839: The macro std-priv-exten_31 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 842-865: The macro std-priv-exten_32 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 868-891: The macro std-priv-exten_33 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 894-917: The macro std-priv-exten_34 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 920-943: The macro std-priv-exten_35 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 946-969: The macro std-priv-exten_36 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 972-995: The macro std-priv-exten_37 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 998-1021: The macro std-priv-exten_38 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1024-1047: The macro std-priv-exten_39 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1050-1073: The macro std-priv-exten_40 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1076-1099: The macro std-priv-exten_41 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1102-1125: The macro std-priv-exten_42 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1128-1151: The macro std-priv-exten_43 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1154-1177: The macro std-priv-exten_44 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1180-1203: The macro std-priv-exten_45 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1206-1229: The macro std-priv-exten_46 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1232-1255: The macro std-priv-exten_47 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1258-1281: The macro std-priv-exten_48 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1284-1307: The macro std-priv-exten_49 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1310-1333: The macro std-priv-exten_50 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1336-1359: The macro std-priv-exten_51 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1362-1385: The macro std-priv-exten_52 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1388-1411: The macro std-priv-exten_53 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1414-1437: The macro std-priv-exten_54 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1440-1463: The macro std-priv-exten_55 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1466-1489: The macro std-priv-exten_56 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1492-1515: The macro std-priv-exten_57 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1518-1541: The macro std-priv-exten_58 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1544-1567: The macro std-priv-exten_59 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1570-1593: The macro std-priv-exten_60 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1596-1619: The macro std-priv-exten_61 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1622-1645: The macro std-priv-exten_62 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1648-1671: The macro std-priv-exten_63 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1674-1697: The macro std-priv-exten_64 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1700-1723: The macro std-priv-exten_65 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1726-1749: The macro std-priv-exten_66 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1752-1775: The macro std-priv-exten_67 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1778-1801: The macro std-priv-exten_68 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1804-1827: The macro std-priv-exten_69 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1830-1853: The macro std-priv-exten_70 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1856-1879: The macro std-priv-exten_71 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1882-1905: The macro std-priv-exten_72 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1908-1931: The macro std-priv-exten_73 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1934-1957: The macro std-priv-exten does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1959-1995: The macro fillcidname does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 1997-2015: The macro ciddial does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 2017-2028: The macro ciddial3 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 2030-2048: The macro ciddial2 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 2050-2065: The macro callerid-liar does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 2067-2072: The macro callerid-bad does not end with a return; I will insert one.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 172 contexts, 934 extensions, 2482 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test4 b/pbx/ael/ael-test/ref.ael-test4
index 1a426c4d9..892b63464 100644
--- a/pbx/ael/ael-test/ref.ael-test4
+++ b/pbx/ael/ael-test/ref.ael-test4
@@ -2,28 +2,27 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:ael.flex line:659 func: setup_filestack --Read in included file ././apptest.ael2, 3474 chars
-LOG: lev:3 file:ael.y line:542 func: ael_yyparse ==== File: ././apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL.
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 35-35: application call to EndWhile affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 37-37: application call to ExecIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 38-38: application call to ExecIfTime affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 44-44: application call to Gosub affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 45-45: application call to GosubIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:1344 func: check_goto Warning: file ././apptest.ael2, line 46-46: goto: Couldn't find goto target cont|exten|prior, not even in extensions.conf!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 47-47: application call to GotoIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 48-48: application call to GotoIfTime affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 58-58: application call to Macro affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2510 func: check_pval_item Warning: file ././apptest.ael2, line 59-59: I am converting the MacroExit call here to a return statement.
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 60-60: application call to MacroIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 85-85: application call to Random affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 94-94: application call to Return affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 119-119: application call to StackPop affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:pval.c line:2505 func: check_pval_item Warning: file ././apptest.ael2, line 141-141: application call to While affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:527 func: main 1 contexts, 1 extensions, 142 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:ael.flex line:662 func: setup_filestack --Read in included file ././apptest.ael2, 3474 chars
+LOG: lev:3 file:ael.y line:546 func: ael_yyparse ==== File: ././apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 35-35: application call to EndWhile affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 37-37: application call to ExecIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 38-38: application call to ExecIfTime affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 44-44: application call to Gosub affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 45-45: application call to GosubIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:1346 func: check_goto Warning: file ././apptest.ael2, line 46-46: goto: Couldn't find goto target cont|exten|prior, not even in extensions.conf!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 47-47: application call to GotoIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 48-48: application call to GotoIfTime affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 58-58: application call to Macro affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2512 func: check_pval_item Warning: file ././apptest.ael2, line 59-59: I am converting the MacroExit call here to a return statement.
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 60-60: application call to MacroIf affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 85-85: application call to Random affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 94-94: application call to Return affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 119-119: application call to StackPop affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:pval.c line:2507 func: check_pval_item Warning: file ././apptest.ael2, line 141-141: application call to While affects flow of control, and needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 1 contexts, 1 extensions, 142 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test5 b/pbx/ael/ael-test/ref.ael-test5
index de4a6c0c2..79c327413 100644
--- a/pbx/ael/ael-test/ref.ael-test5
+++ b/pbx/ael/ael-test/ref.ael-test5
@@ -2,14 +2,13 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 130-183: The macro stdexten does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 185-192: The macro uvm does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 194-201: The macro bvm does not end with a return; I will insert one.
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:527 func: main 38 contexts, 91 extensions, 493 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 130-183: The macro stdexten does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 185-192: The macro uvm does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 194-201: The macro bvm does not end with a return; I will insert one.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 38 contexts, 91 extensions, 493 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test6 b/pbx/ael/ael-test/ref.ael-test6
index 45a717fb4..968c7c71e 100644
--- a/pbx/ael/ael-test/ref.ael-test6
+++ b/pbx/ael/ael-test/ref.ael-test6
@@ -2,24 +2,23 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:1680 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:1687 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:4 file:ael.flex line:277 func: ael_yylex File=./extensions.ael, line=165, column=49: Mismatched '}' in expression!
-LOG: lev:4 file:ael.y line:764 func: ael_yyerror ==== File: ./extensions.ael, Line 165, Cols: 51-51: Error: syntax error, unexpected '=', expecting ')'
-LOG: lev:4 file:ael.flex line:277 func: ael_yylex File=./extensions.ael, line=174, column=49: Mismatched '}' in expression!
-LOG: lev:4 file:ael.y line:764 func: ael_yyerror ==== File: ./extensions.ael, Line 174, Cols: 51-51: Error: syntax error, unexpected '=', expecting ')'
-LOG: lev:4 file:ael.flex line:277 func: ael_yylex File=./extensions.ael, line=222, column=41: Mismatched '}' in expression!
-LOG: lev:4 file:ael.y line:764 func: ael_yyerror ==== File: ./extensions.ael, Line 222, Cols: 43-43: Error: syntax error, unexpected '=', expecting ')'
-LOG: lev:4 file:ael.y line:764 func: ael_yyerror ==== File: ./extensions.ael, Line 291, Cols: 21-28: Error: syntax error, unexpected word, expecting '(' or ';' or '=' or ':'
-LOG: lev:4 file:ael.y line:764 func: ael_yyerror ==== File: ./extensions.ael, Line 291, Cols: 32-32: Error: syntax error, unexpected '|', expecting '(' or ';' or '=' or ':'
-LOG: lev:2 file:pbx_ael.c line:1695 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 116-125: The macro dialout does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 129-182: The macro stdexten does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 184-191: The macro uvm does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 193-200: The macro bvm does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 202-207: The macro checkdnd does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 209-216: The macro checkcf does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 218-230: The macro checkcfb does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 688-694: The macro check-psd-exists does not end with a return; I will insert one.
-LOG: lev:4 file:pbx_ael.c line:1708 func: pbx_load_module Sorry, but 5 syntax errors and 0 semantic errors were detected. It doesn't make sense to compile.
-LOG: lev:4 file:ael2_parse line:523 func: main 0 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:4 file:ael.flex line:288 func: ael_yylex File=./extensions.ael, line=165, column=49: Mismatched '}' in expression!
+LOG: lev:4 file:ael.y line:772 func: ael_yyerror ==== File: ./extensions.ael, Line 165, Cols: 51-51: Error: syntax error, unexpected '=', expecting ')'
+LOG: lev:4 file:ael.flex line:288 func: ael_yylex File=./extensions.ael, line=174, column=49: Mismatched '}' in expression!
+LOG: lev:4 file:ael.y line:772 func: ael_yyerror ==== File: ./extensions.ael, Line 174, Cols: 51-51: Error: syntax error, unexpected '=', expecting ')'
+LOG: lev:4 file:ael.flex line:288 func: ael_yylex File=./extensions.ael, line=222, column=41: Mismatched '}' in expression!
+LOG: lev:4 file:ael.y line:772 func: ael_yyerror ==== File: ./extensions.ael, Line 222, Cols: 43-43: Error: syntax error, unexpected '=', expecting ')'
+LOG: lev:4 file:ael.y line:772 func: ael_yyerror ==== File: ./extensions.ael, Line 291, Cols: 21-28: Error: syntax error, unexpected word, expecting '(' or ';' or '=' or ':'
+LOG: lev:4 file:ael.y line:772 func: ael_yyerror ==== File: ./extensions.ael, Line 291, Cols: 32-32: Error: syntax error, unexpected '|', expecting '(' or ';' or '=' or ':'
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 116-125: The macro dialout does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 129-182: The macro stdexten does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 184-191: The macro uvm does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 193-200: The macro bvm does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 202-207: The macro checkdnd does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 209-216: The macro checkcf does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 218-230: The macro checkcfb does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 688-694: The macro check-psd-exists does not end with a return; I will insert one.
+LOG: lev:4 file:pbx_ael.c line:139 func: pbx_load_module Sorry, but 5 syntax errors and 0 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse line:531 func: main 0 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test7 b/pbx/ael/ael-test/ref.ael-test7
index 10ab30ddf..69f0c9f91 100644
--- a/pbx/ael/ael-test/ref.ael-test7
+++ b/pbx/ael/ael-test/ref.ael-test7
@@ -2,19 +2,18 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:1680 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:1687 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:1695 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 22-42: The macro stdexten does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 44-49: The macro announce_minutes does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 59-89: The macro checkanddial does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 91-100: The macro trunkdial does not end with a return; I will insert one.
-LOG: lev:4 file:pval.c line:2465 func: check_pval_item Error: file ./extensions.ael, line 98-98: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 102-112: The macro checklocal does not end with a return; I will insert one.
-LOG: lev:4 file:pval.c line:2465 func: check_pval_item Error: file ./extensions.ael, line 107-107: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
-LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 114-119: The macro autodial does not end with a return; I will insert one.
-LOG: lev:4 file:pval.c line:2465 func: check_pval_item Error: file ./extensions.ael, line 284-284: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
-LOG: lev:4 file:pval.c line:2465 func: check_pval_item Error: file ./extensions.ael, line 287-287: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
-LOG: lev:3 file:pval.c line:2423 func: check_pval_item Warning: file ./extensions.ael, line 452-452: macro call to non-existent std-exten-ael! (Not even in the extensions.conf stuff!)
-LOG: lev:4 file:pbx_ael.c line:1708 func: pbx_load_module Sorry, but 0 syntax errors and 4 semantic errors were detected. It doesn't make sense to compile.
-LOG: lev:4 file:ael2_parse line:523 func: main 0 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 22-42: The macro stdexten does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 44-49: The macro announce_minutes does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 59-89: The macro checkanddial does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 91-100: The macro trunkdial does not end with a return; I will insert one.
+LOG: lev:4 file:pval.c line:2468 func: check_pval_item Error: file ./extensions.ael, line 98-98: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 102-112: The macro checklocal does not end with a return; I will insert one.
+LOG: lev:4 file:pval.c line:2468 func: check_pval_item Error: file ./extensions.ael, line 107-107: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
+LOG: lev:3 file:pval.c line:671 func: check_macro_returns Warning: file ./extensions.ael, line 114-119: The macro autodial does not end with a return; I will insert one.
+LOG: lev:4 file:pval.c line:2468 func: check_pval_item Error: file ./extensions.ael, line 284-284: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
+LOG: lev:4 file:pval.c line:2468 func: check_pval_item Error: file ./extensions.ael, line 287-287: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
+LOG: lev:3 file:pval.c line:2426 func: check_pval_item Warning: file ./extensions.ael, line 452-452: macro call to non-existent std-exten-ael! (Not even in the extensions.conf stuff!)
+LOG: lev:4 file:pbx_ael.c line:139 func: pbx_load_module Sorry, but 0 syntax errors and 4 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse line:531 func: main 0 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test8 b/pbx/ael/ael-test/ref.ael-test8
index 1793d2f4c..4e5d0aa37 100644
--- a/pbx/ael/ael-test/ref.ael-test8
+++ b/pbx/ael/ael-test/ref.ael-test8
@@ -2,11 +2,10 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse line:527 func: main 1 contexts, 7 extensions, 17 priorities
+LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c line:126 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:129 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:134 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c line:137 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse line:531 func: main 1 contexts, 7 extensions, 17 priorities
diff --git a/res/ael/ael.flex b/res/ael/ael.flex
index b67309a46..5e32e8d39 100644
--- a/res/ael/ael.flex
+++ b/res/ael/ael.flex
@@ -33,7 +33,7 @@
* add option noyywrap to remove it.
*/
%option prefix="ael_yy"
-%option noyywrap
+%option noyywrap 8bit
/* batch gives a bit more performance if we are using it in
* a non-interactive mode. We probably don't care much.
@@ -178,6 +178,8 @@ NOARGG ([^(),\{\}\[\]]|\\[,()\[\]\{\}])*
NOSEMIC ([^;()\{\}\[\]]|\\[;()\[\]\{\}])*
+HIBIT [\x80-\xff]
+
%%
\{ { STORE_POS; return LC;}
@@ -233,7 +235,7 @@ includes { STORE_POS; return KW_INCLUDES;}
[ ]+ { my_col += yyleng; }
[\t]+ { my_col += (yyleng*8)-(my_col%8); }
-[-a-zA-Z0-9'"_/.\<\>\*\+!$#\[\]][-a-zA-Z0-9'"_/.!\*\+\<\>\{\}$#\[\]]* {
+([-a-zA-Z0-9'"_/.\<\>\*\\\+!$#\[\]]|{HIBIT})([-a-zA-Z0-9'"_/.!\*\\\+\<\>\{\}$#\[\]]|{HIBIT})* {
STORE_POS;
yylval->str = strdup(yytext);
prev_word = yylval->str;
diff --git a/res/ael/ael.tab.c b/res/ael/ael.tab.c
index ccd8fa4e8..aa1ec0fad 100644
--- a/res/ael/ael.tab.c
+++ b/res/ael/ael.tab.c
@@ -494,16 +494,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 17
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 321
+#define YYLAST 327
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 44
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 56
/* YYNRULES -- Number of rules. */
-#define YYNRULES 141
+#define YYNRULES 142
/* YYNRULES -- Number of states. */
-#define YYNSTATES 284
+#define YYNSTATES 288
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -556,17 +556,17 @@ static const yytype_uint16 yyprhs[] =
21, 23, 25, 32, 34, 35, 37, 40, 43, 52,
57, 58, 61, 64, 65, 71, 72, 79, 80, 82,
86, 89, 90, 93, 96, 98, 100, 102, 104, 106,
- 108, 110, 113, 115, 120, 124, 129, 137, 146, 147,
- 150, 153, 159, 161, 169, 170, 175, 178, 181, 186,
- 188, 191, 193, 196, 200, 204, 206, 209, 213, 215,
- 218, 222, 228, 232, 234, 236, 240, 244, 247, 248,
- 249, 250, 263, 267, 269, 273, 276, 279, 280, 286,
- 289, 292, 295, 299, 301, 304, 305, 307, 311, 315,
- 321, 327, 333, 339, 340, 343, 346, 351, 352, 358,
- 362, 363, 367, 371, 374, 376, 377, 379, 380, 384,
- 385, 388, 393, 397, 402, 403, 406, 408, 410, 416,
- 421, 426, 427, 431, 437, 440, 442, 446, 449, 453,
- 456, 461
+ 108, 110, 113, 115, 120, 124, 130, 135, 143, 152,
+ 153, 156, 159, 165, 167, 175, 176, 181, 184, 187,
+ 192, 194, 197, 199, 202, 206, 210, 212, 215, 219,
+ 221, 224, 228, 234, 238, 240, 242, 246, 250, 253,
+ 254, 255, 256, 269, 273, 275, 279, 282, 285, 286,
+ 292, 295, 298, 301, 305, 307, 310, 311, 313, 317,
+ 321, 327, 333, 339, 345, 346, 349, 352, 357, 358,
+ 364, 368, 369, 373, 377, 380, 382, 383, 385, 386,
+ 390, 391, 394, 399, 403, 408, 409, 412, 414, 416,
+ 422, 427, 432, 433, 437, 443, 446, 448, 452, 455,
+ 459, 462, 467
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -584,41 +584,42 @@ static const yytype_int8 yyrhs[] =
60, 59, -1, 1, 59, -1, 62, -1, 99, -1,
94, -1, 95, -1, 61, -1, 54, -1, 56, -1,
43, 1, -1, 8, -1, 17, 25, 43, 8, -1,
- 43, 25, 74, -1, 31, 43, 25, 74, -1, 32,
- 6, 70, 7, 43, 25, 74, -1, 31, 32, 6,
- 70, 7, 43, 25, 74, -1, -1, 74, 63, -1,
- 1, 63, -1, 71, 11, 71, 11, 71, -1, 43,
- -1, 64, 13, 71, 13, 71, 13, 71, -1, -1,
- 6, 67, 69, 7, -1, 19, 66, -1, 22, 66,
- -1, 20, 6, 65, 7, -1, 43, -1, 43, 43,
- -1, 43, -1, 70, 43, -1, 70, 11, 43, -1,
- 70, 12, 43, -1, 43, -1, 43, 43, -1, 43,
- 43, 43, -1, 43, -1, 43, 43, -1, 72, 11,
- 43, -1, 18, 66, 4, 90, 5, -1, 4, 63,
- 5, -1, 54, -1, 56, -1, 26, 80, 8, -1,
- 27, 82, 8, -1, 43, 11, -1, -1, -1, -1,
- 33, 6, 75, 43, 8, 76, 43, 8, 77, 43,
- 7, 74, -1, 34, 66, 74, -1, 73, -1, 12,
- 83, 8, -1, 87, 8, -1, 43, 8, -1, -1,
- 87, 9, 78, 43, 8, -1, 29, 8, -1, 28,
- 8, -1, 30, 8, -1, 68, 74, 79, -1, 8,
- -1, 21, 74, -1, -1, 72, -1, 72, 13, 72,
- -1, 72, 10, 72, -1, 72, 13, 72, 13, 72,
- -1, 72, 10, 72, 10, 72, -1, 37, 13, 72,
- 13, 72, -1, 37, 10, 72, 10, 72, -1, -1,
- 10, 43, -1, 72, 81, -1, 72, 81, 14, 48,
- -1, -1, 43, 6, 84, 89, 7, -1, 43, 6,
- 7, -1, -1, 43, 6, 86, -1, 85, 89, 7,
- -1, 85, 7, -1, 43, -1, -1, 69, -1, -1,
- 89, 10, 88, -1, -1, 91, 90, -1, 35, 43,
- 11, 63, -1, 37, 11, 63, -1, 36, 43, 11,
- 63, -1, -1, 93, 92, -1, 74, -1, 99, -1,
- 38, 43, 4, 63, 5, -1, 39, 4, 96, 5,
- -1, 40, 4, 96, 5, -1, -1, 43, 8, 96,
- -1, 43, 14, 43, 8, 96, -1, 1, 96, -1,
- 48, -1, 48, 13, 65, -1, 97, 8, -1, 98,
- 97, 8, -1, 98, 1, -1, 41, 4, 98, 5,
- -1, 41, 4, 5, -1
+ 43, 25, 74, -1, 43, 14, 43, 25, 74, -1,
+ 31, 43, 25, 74, -1, 32, 6, 70, 7, 43,
+ 25, 74, -1, 31, 32, 6, 70, 7, 43, 25,
+ 74, -1, -1, 74, 63, -1, 1, 63, -1, 71,
+ 11, 71, 11, 71, -1, 43, -1, 64, 13, 71,
+ 13, 71, 13, 71, -1, -1, 6, 67, 69, 7,
+ -1, 19, 66, -1, 22, 66, -1, 20, 6, 65,
+ 7, -1, 43, -1, 43, 43, -1, 43, -1, 70,
+ 43, -1, 70, 11, 43, -1, 70, 12, 43, -1,
+ 43, -1, 43, 43, -1, 43, 43, 43, -1, 43,
+ -1, 43, 43, -1, 72, 11, 43, -1, 18, 66,
+ 4, 90, 5, -1, 4, 63, 5, -1, 54, -1,
+ 56, -1, 26, 80, 8, -1, 27, 82, 8, -1,
+ 43, 11, -1, -1, -1, -1, 33, 6, 75, 43,
+ 8, 76, 43, 8, 77, 43, 7, 74, -1, 34,
+ 66, 74, -1, 73, -1, 12, 83, 8, -1, 87,
+ 8, -1, 43, 8, -1, -1, 87, 9, 78, 43,
+ 8, -1, 29, 8, -1, 28, 8, -1, 30, 8,
+ -1, 68, 74, 79, -1, 8, -1, 21, 74, -1,
+ -1, 72, -1, 72, 13, 72, -1, 72, 10, 72,
+ -1, 72, 13, 72, 13, 72, -1, 72, 10, 72,
+ 10, 72, -1, 37, 13, 72, 13, 72, -1, 37,
+ 10, 72, 10, 72, -1, -1, 10, 43, -1, 72,
+ 81, -1, 72, 81, 14, 48, -1, -1, 43, 6,
+ 84, 89, 7, -1, 43, 6, 7, -1, -1, 43,
+ 6, 86, -1, 85, 89, 7, -1, 85, 7, -1,
+ 43, -1, -1, 69, -1, -1, 89, 10, 88, -1,
+ -1, 91, 90, -1, 35, 43, 11, 63, -1, 37,
+ 11, 63, -1, 36, 43, 11, 63, -1, -1, 93,
+ 92, -1, 74, -1, 99, -1, 38, 43, 4, 63,
+ 5, -1, 39, 4, 96, 5, -1, 40, 4, 96,
+ 5, -1, -1, 43, 8, 96, -1, 43, 14, 43,
+ 8, 96, -1, 1, 96, -1, 48, -1, 48, 13,
+ 65, -1, 97, 8, -1, 98, 97, 8, -1, 98,
+ 1, -1, 41, 4, 98, 5, -1, 41, 4, 5,
+ -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -628,17 +629,17 @@ static const yytype_uint16 yyrline[] =
200, 201, 204, 213, 214, 215, 216, 217, 220, 226,
232, 233, 234, 237, 237, 243, 243, 250, 251, 252,
253, 256, 257, 258, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 272, 277, 281, 286, 291, 301, 302,
- 303, 309, 314, 318, 326, 326, 330, 333, 336, 347,
- 348, 355, 356, 360, 364, 370, 371, 376, 384, 385,
- 389, 395, 404, 407, 408, 409, 412, 415, 418, 419,
- 420, 418, 426, 430, 431, 432, 433, 436, 436, 469,
- 470, 471, 472, 476, 479, 480, 483, 484, 487, 490,
- 494, 498, 502, 508, 509, 513, 516, 522, 522, 527,
- 535, 535, 546, 553, 556, 557, 560, 561, 564, 567,
- 568, 571, 575, 579, 585, 586, 589, 590, 591, 597,
- 602, 607, 608, 609, 611, 614, 615, 622, 623, 624,
- 627, 630
+ 267, 268, 269, 272, 277, 281, 289, 294, 299, 308,
+ 309, 310, 316, 321, 325, 333, 333, 337, 340, 343,
+ 354, 355, 362, 363, 367, 371, 377, 378, 383, 391,
+ 392, 396, 402, 411, 414, 415, 416, 419, 422, 425,
+ 426, 427, 425, 433, 437, 438, 439, 440, 443, 443,
+ 476, 477, 478, 479, 483, 486, 487, 490, 491, 494,
+ 497, 501, 505, 509, 515, 516, 520, 523, 529, 529,
+ 534, 542, 542, 553, 560, 563, 564, 567, 568, 571,
+ 574, 575, 578, 582, 586, 592, 593, 596, 597, 598,
+ 604, 609, 614, 615, 616, 618, 621, 622, 629, 630,
+ 631, 634, 637
};
#endif
@@ -688,17 +689,17 @@ static const yytype_uint8 yyr1[] =
48, 48, 49, 50, 50, 50, 50, 50, 51, 52,
53, 53, 53, 55, 54, 57, 56, 58, 58, 58,
58, 59, 59, 59, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 61, 62, 62, 62, 62, 63, 63,
- 63, 64, 64, 65, 67, 66, 68, 68, 68, 69,
- 69, 70, 70, 70, 70, 71, 71, 71, 72, 72,
- 72, 73, 74, 74, 74, 74, 74, 74, 75, 76,
- 77, 74, 74, 74, 74, 74, 74, 78, 74, 74,
- 74, 74, 74, 74, 79, 79, 80, 80, 80, 80,
- 80, 80, 80, 81, 81, 82, 82, 84, 83, 83,
- 86, 85, 87, 87, 88, 88, 89, 89, 89, 90,
- 90, 91, 91, 91, 92, 92, 93, 93, 93, 94,
- 95, 96, 96, 96, 96, 97, 97, 98, 98, 98,
- 99, 99
+ 60, 60, 60, 61, 62, 62, 62, 62, 62, 63,
+ 63, 63, 64, 64, 65, 67, 66, 68, 68, 68,
+ 69, 69, 70, 70, 70, 70, 71, 71, 71, 72,
+ 72, 72, 73, 74, 74, 74, 74, 74, 74, 75,
+ 76, 77, 74, 74, 74, 74, 74, 74, 78, 74,
+ 74, 74, 74, 74, 74, 79, 79, 80, 80, 80,
+ 80, 80, 80, 80, 81, 81, 82, 82, 84, 83,
+ 83, 86, 85, 87, 87, 88, 88, 89, 89, 89,
+ 90, 90, 91, 91, 91, 92, 92, 93, 93, 93,
+ 94, 95, 96, 96, 96, 96, 97, 97, 98, 98,
+ 98, 99, 99
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -708,17 +709,17 @@ static const yytype_uint8 yyr2[] =
1, 1, 6, 1, 0, 1, 2, 2, 8, 4,
0, 2, 2, 0, 5, 0, 6, 0, 1, 3,
2, 0, 2, 2, 1, 1, 1, 1, 1, 1,
- 1, 2, 1, 4, 3, 4, 7, 8, 0, 2,
- 2, 5, 1, 7, 0, 4, 2, 2, 4, 1,
- 2, 1, 2, 3, 3, 1, 2, 3, 1, 2,
- 3, 5, 3, 1, 1, 3, 3, 2, 0, 0,
- 0, 12, 3, 1, 3, 2, 2, 0, 5, 2,
- 2, 2, 3, 1, 2, 0, 1, 3, 3, 5,
- 5, 5, 5, 0, 2, 2, 4, 0, 5, 3,
- 0, 3, 3, 2, 1, 0, 1, 0, 3, 0,
- 2, 4, 3, 4, 0, 2, 1, 1, 5, 4,
- 4, 0, 3, 5, 2, 1, 3, 2, 3, 2,
- 4, 3
+ 1, 2, 1, 4, 3, 5, 4, 7, 8, 0,
+ 2, 2, 5, 1, 7, 0, 4, 2, 2, 4,
+ 1, 2, 1, 2, 3, 3, 1, 2, 3, 1,
+ 2, 3, 5, 3, 1, 1, 3, 3, 2, 0,
+ 0, 0, 12, 3, 1, 3, 2, 2, 0, 5,
+ 2, 2, 2, 3, 1, 2, 0, 1, 3, 3,
+ 5, 5, 5, 5, 0, 2, 2, 4, 0, 5,
+ 3, 0, 3, 3, 2, 1, 0, 1, 0, 3,
+ 0, 2, 4, 3, 4, 0, 2, 1, 1, 5,
+ 4, 4, 0, 3, 5, 2, 1, 3, 2, 3,
+ 2, 4, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -731,167 +732,167 @@ static const yytype_uint8 yydefact[] =
0, 27, 0, 0, 0, 0, 11, 10, 0, 28,
0, 22, 23, 19, 21, 0, 30, 0, 0, 0,
0, 42, 0, 0, 0, 0, 0, 0, 0, 0,
- 39, 40, 0, 0, 38, 34, 36, 37, 35, 124,
+ 39, 40, 0, 0, 38, 34, 36, 37, 35, 125,
29, 0, 33, 0, 0, 0, 0, 0, 0, 0,
- 0, 41, 0, 12, 32, 0, 93, 0, 0, 0,
+ 0, 41, 0, 0, 12, 32, 0, 94, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 73, 74, 0, 83, 126, 117, 0, 0, 124,
- 127, 24, 0, 0, 0, 61, 0, 0, 0, 0,
- 0, 141, 135, 0, 0, 25, 44, 0, 0, 0,
- 0, 0, 54, 0, 56, 0, 57, 0, 68, 96,
- 0, 103, 0, 90, 89, 91, 78, 0, 0, 110,
- 86, 77, 95, 113, 59, 116, 0, 85, 87, 18,
- 125, 43, 0, 45, 0, 0, 0, 62, 134, 0,
- 0, 129, 130, 0, 137, 139, 140, 0, 0, 50,
- 72, 49, 107, 84, 0, 119, 52, 0, 0, 0,
- 0, 0, 69, 0, 0, 0, 75, 0, 105, 76,
- 0, 82, 0, 111, 0, 92, 60, 112, 115, 0,
- 0, 0, 63, 64, 132, 0, 136, 138, 0, 109,
- 117, 0, 0, 0, 0, 0, 119, 66, 0, 58,
- 0, 0, 0, 98, 70, 97, 104, 0, 0, 0,
- 94, 114, 118, 0, 0, 0, 0, 26, 0, 55,
- 0, 0, 0, 71, 120, 67, 65, 0, 0, 0,
- 0, 0, 0, 106, 79, 128, 88, 0, 46, 133,
- 108, 0, 0, 122, 0, 0, 102, 101, 100, 99,
- 0, 47, 121, 123, 0, 51, 0, 0, 80, 53,
- 0, 0, 0, 81
+ 0, 0, 74, 75, 0, 84, 127, 118, 0, 0,
+ 125, 128, 24, 0, 0, 0, 62, 0, 0, 0,
+ 0, 0, 142, 136, 0, 0, 25, 0, 44, 0,
+ 0, 0, 0, 0, 55, 0, 57, 0, 58, 0,
+ 69, 97, 0, 104, 0, 91, 90, 92, 79, 0,
+ 0, 111, 87, 78, 96, 114, 60, 117, 0, 86,
+ 88, 18, 126, 43, 0, 46, 0, 0, 0, 63,
+ 135, 0, 0, 130, 131, 0, 138, 140, 141, 0,
+ 0, 0, 51, 73, 50, 108, 85, 0, 120, 53,
+ 0, 0, 0, 0, 0, 70, 0, 0, 0, 76,
+ 0, 106, 77, 0, 83, 0, 112, 0, 93, 61,
+ 113, 116, 0, 0, 0, 64, 65, 133, 0, 137,
+ 139, 0, 45, 110, 118, 0, 0, 0, 0, 0,
+ 120, 67, 0, 59, 0, 0, 0, 99, 71, 98,
+ 105, 0, 0, 0, 95, 115, 119, 0, 0, 0,
+ 0, 26, 0, 56, 0, 0, 0, 72, 121, 68,
+ 66, 0, 0, 0, 0, 0, 0, 107, 80, 129,
+ 89, 0, 47, 134, 109, 0, 0, 123, 0, 0,
+ 103, 102, 101, 100, 0, 48, 122, 124, 0, 52,
+ 0, 0, 81, 54, 0, 0, 0, 82
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 6, 7, 8, 112, 9, 10, 11, 12, 24,
- 91, 39, 92, 168, 30, 52, 53, 54, 55, 118,
- 177, 178, 123, 174, 93, 145, 106, 179, 129, 94,
- 119, 190, 270, 280, 199, 195, 130, 188, 132, 121,
- 210, 96, 193, 97, 232, 146, 215, 216, 98, 99,
- 56, 57, 109, 113, 114, 58
+ -1, 6, 7, 8, 113, 9, 10, 11, 12, 24,
+ 92, 39, 93, 170, 30, 52, 53, 54, 55, 120,
+ 180, 181, 125, 177, 94, 147, 107, 182, 131, 95,
+ 121, 193, 274, 284, 202, 198, 132, 191, 134, 123,
+ 214, 97, 196, 98, 236, 148, 219, 220, 99, 100,
+ 56, 57, 110, 114, 115, 58
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -213
+#define YYPACT_NINF -219
static const yytype_int16 yypact[] =
{
- 130, -213, -22, 32, 20, 28, 72, 93, -213, -213,
- 73, -213, -213, 118, 14, -213, -213, -213, -213, -213,
- -5, 88, 14, 146, 134, 14, -213, -213, 184, -213,
- 104, -213, -213, -213, -213, 120, -213, 186, 115, 151,
- 120, -213, 171, -15, 191, 200, 201, 205, 167, 22,
- -213, -213, 207, 120, -213, -213, -213, -213, -213, 173,
- -213, 210, -213, 176, 214, 197, 181, 19, 19, -2,
- 216, -213, 209, -213, -213, 114, -213, 183, 224, 224,
- 226, 224, -4, 202, 232, 238, 239, 228, 224, 206,
- 178, -213, -213, 209, -213, -213, 3, 78, 243, 173,
- -213, -213, 242, 181, 209, -213, 15, 19, 56, 248,
- 250, -213, 244, 252, 11, -213, -213, 55, 251, 55,
- 255, 254, -213, 259, -213, 215, -213, 1, 221, 58,
- 257, 102, 258, -213, -213, -213, -213, 209, 263, -213,
- -213, -213, 247, -213, 227, -213, 96, -213, -213, -213,
- -213, -213, 18, -213, 230, 231, 233, -213, -213, 19,
- 234, -213, -213, 215, -213, -213, -213, 261, 235, -213,
- -213, -213, 264, -213, 236, 143, 7, 262, 273, 270,
- 202, 202, -213, 202, 240, 202, -213, 241, 268, -213,
- 245, -213, 114, -213, 209, -213, -213, -213, 246, 249,
- 253, 260, -213, -213, -213, 278, -213, -213, 279, -213,
- 236, 283, 256, 265, 280, 288, 143, 266, 267, -213,
- 267, 164, 116, 172, -213, 154, -213, -5, 286, 290,
- -213, -213, -213, 289, 275, 209, 19, -213, 100, -213,
- 287, 291, 55, -213, -213, -213, 269, 292, 293, 202,
- 202, 202, 202, -213, -213, -213, -213, 209, -213, -213,
- -213, 55, 55, -213, 267, 267, 295, 295, 295, 295,
- 271, -213, -213, -213, 294, -213, 303, 267, -213, -213,
- 272, 296, 209, -213
+ 102, -219, -25, 40, 24, 29, 70, 249, -219, -219,
+ 74, -219, -219, 107, 11, -219, -219, -219, -219, -219,
+ -6, 65, 11, 137, 148, 11, -219, -219, 152, -219,
+ 87, -219, -219, -219, -219, 123, -219, 173, 126, 136,
+ 123, -219, 159, -11, 186, 190, 194, 196, 158, 86,
+ -219, -219, 203, 123, -219, -219, -219, -219, -219, 177,
+ -219, 201, -219, 170, 208, 191, 179, 12, 12, 19,
+ 214, -219, 181, 213, -219, -219, 115, -219, 183, 222,
+ 222, 223, 222, 36, 187, 226, 228, 229, 232, 222,
+ 202, 182, -219, -219, 213, -219, -219, 16, 113, 239,
+ 177, -219, -219, 240, 179, 213, -219, 22, 12, 101,
+ 246, 248, -219, 241, 250, 10, -219, 234, -219, 56,
+ 255, 56, 256, 253, -219, 259, -219, 224, -219, 26,
+ 225, 157, 258, 119, 261, -219, -219, -219, -219, 213,
+ 266, -219, -219, -219, 254, -219, 231, -219, 59, -219,
+ -219, -219, -219, -219, 60, -219, 233, 235, 236, -219,
+ -219, 12, 237, -219, -219, 224, -219, -219, -219, 263,
+ 238, 213, -219, -219, -219, 270, -219, 242, 124, -1,
+ 269, 276, 273, 187, 187, -219, 187, 243, 187, -219,
+ 244, 274, -219, 247, -219, 115, -219, 213, -219, -219,
+ -219, 251, 252, 257, 264, -219, -219, -219, 283, -219,
+ -219, 284, -219, -219, 242, 286, 260, 262, 285, 292,
+ 124, 265, 267, -219, 267, 172, 15, 176, -219, 165,
+ -219, -6, 290, 294, -219, -219, -219, 293, 277, 213,
+ 12, -219, 129, -219, 295, 296, 56, -219, -219, -219,
+ 268, 291, 298, 187, 187, 187, 187, -219, -219, -219,
+ -219, 213, -219, -219, -219, 56, 56, -219, 267, 267,
+ 301, 301, 301, 301, 271, -219, -219, -219, 300, -219,
+ 307, 267, -219, -219, 275, 309, 213, -219
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -213, -213, -213, 306, -19, -213, -213, -213, -213, 98,
- 219, -213, 2, -213, -213, 26, -213, -213, -213, -112,
- -213, 138, 85, -213, -213, 142, 217, -212, -81, -213,
- -59, -213, -213, -213, -213, -213, -213, -213, -213, -213,
- -213, -213, -213, -213, -213, 107, 103, -213, 222, -213,
- -213, -213, -64, 204, -213, -50
+ -219, -219, -219, 310, -19, -219, -219, -219, -219, 125,
+ 5, -219, -15, -219, -219, -31, -219, -219, -219, -114,
+ -219, 154, 25, -219, -219, 143, 217, -218, -82, -219,
+ -59, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, 108, 103, -219, 227, -219,
+ -219, -219, -65, 209, -219, -51
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -132
+#define YYTABLE_NINF -133
static const yytype_int16 yytable[] =
{
- 95, 28, 131, 111, 110, 169, 247, 171, 248, 100,
- 143, 180, 165, 116, 181, 22, 166, 64, -65, -20,
- 107, 13, 154, 71, -131, 200, 155, 156, 65, 155,
- 156, 32, 26, 127, 142, 26, 14, 51, 27, 128,
- 95, 27, 51, 158, 15, 153, 144, 72, 26, 100,
- 217, 16, 274, 275, 27, 51, 117, 23, 157, 75,
- -48, 157, 108, 76, 159, 279, 62, 77, 183, 184,
- 160, 185, 17, 78, 79, 80, 20, 81, 191, 74,
- 229, 82, 83, 84, 85, 86, 147, 148, 87, 88,
- -48, -48, -48, -2, 18, 204, -14, 48, 90, 221,
- 222, 1, 223, 197, 225, 36, 198, 260, 2, 3,
- 198, 37, 187, 184, 38, 117, 4, 5, 75, -48,
- 31, 40, 76, 34, 21, -31, 77, 184, 41, 250,
- 263, 29, 78, 79, 80, 230, 81, 42, 1, 33,
- 82, 83, 84, 85, 86, 2, 3, 87, 88, 272,
- 273, 43, 44, 4, 5, 32, 48, 90, 60, 45,
- 46, 47, 48, 49, 124, 184, 126, 252, 266, 267,
- 268, 269, 259, 137, 249, 184, 258, 75, 212, 213,
- 214, 76, 251, 184, 139, 77, 140, 32, 35, 141,
- 59, 78, 79, 80, 61, 81, 63, 66, 271, 82,
- 83, 84, 85, 86, 67, 68, 87, 88, 253, 69,
- 70, 89, 73, 75, 47, 48, 90, 76, 101, 102,
- 103, 77, 104, 283, 105, 115, 120, 78, 79, 80,
- 122, 81, 125, 25, 136, 82, 83, 84, 85, 86,
- 133, 25, 87, 88, 25, 128, 134, 135, 149, 138,
- 151, 48, 90, 161, 50, 162, 170, 163, 176, 50,
- 164, 172, 173, 175, 182, 186, 189, 192, 194, 207,
- 196, 209, 50, 201, 202, 218, 203, 205, 208, 144,
- 219, 220, 227, 224, 226, 235, 236, 237, 228, 231,
- 239, 242, 233, 243, 254, 255, 234, 256, 261, 240,
- 257, 206, 262, 282, 265, 264, 184, 277, 241, 245,
- 246, 278, 217, 19, 276, 281, 211, 238, 167, 244,
- 152, 150
+ 96, 28, 133, 111, 251, 172, 252, 174, 101, 62,
+ -66, 167, 22, 108, 118, 168, -20, -132, 13, 25,
+ 51, 64, 75, 145, 112, 51, 187, 25, 254, 156,
+ 25, 26, 65, 157, 158, 144, 183, 27, 51, 184,
+ 50, 96, 221, 160, 14, 50, 155, 26, 15, 101,
+ 278, 279, 16, 27, 23, 109, 26, 119, 50, 146,
+ 76, -49, 27, 283, 77, 159, 200, 203, 78, 201,
+ 17, 157, 158, 129, 79, 80, 81, 20, 82, 130,
+ 194, 233, 83, 84, 85, 86, 87, 71, 36, 88,
+ 89, -49, -49, -49, 37, 32, 207, 38, 48, 91,
+ 72, 225, 226, 159, 227, 126, 229, 128, 29, 161,
+ 1, 73, 212, 21, 139, 162, 119, 2, 3, 76,
+ -49, 149, 150, 77, 40, 4, 5, 78, -31, 190,
+ 187, 41, 267, 79, 80, 81, 264, 82, 234, 201,
+ 42, 83, 84, 85, 86, 87, 32, 31, 88, 89,
+ 34, 276, 277, 33, 43, 44, 35, 48, 91, 216,
+ 217, 218, 45, 46, 47, 48, 49, 186, 187, 60,
+ 188, 270, 271, 272, 273, 263, 187, 59, 256, 61,
+ 262, 76, 253, 187, 63, 77, 255, 187, 141, 78,
+ 142, 32, 66, 143, 67, 79, 80, 81, 68, 82,
+ 69, 70, 275, 83, 84, 85, 86, 87, 74, 102,
+ 88, 89, 257, 103, 104, 90, 105, 76, 47, 48,
+ 91, 77, 106, 116, 117, 78, 122, 287, 124, 127,
+ 130, 79, 80, 81, 135, 82, 136, 137, 138, 83,
+ 84, 85, 86, 87, 151, 140, 88, 89, 153, -2,
+ 18, 163, -14, 164, 165, 48, 91, 1, 166, 171,
+ 173, 176, 175, 178, 2, 3, 189, 179, 185, 192,
+ 195, 210, 4, 5, 199, 197, 204, 213, 205, 206,
+ 208, 211, 222, 223, 224, 146, 228, 230, 231, 239,
+ 232, 240, 241, 243, 235, 237, 246, 247, 258, 259,
+ 238, 260, 261, 244, 268, 245, 265, 266, 249, 269,
+ 250, 221, 187, 281, 280, 282, 286, 19, 285, 209,
+ 215, 154, 242, 248, 169, 0, 0, 152
};
-static const yytype_uint16 yycheck[] =
+static const yytype_int16 yycheck[] =
{
- 59, 20, 83, 5, 68, 117, 218, 119, 220, 59,
- 7, 10, 1, 72, 13, 1, 5, 32, 11, 5,
- 1, 43, 7, 1, 5, 7, 11, 12, 43, 11,
- 12, 9, 37, 37, 93, 37, 4, 35, 43, 43,
- 99, 43, 40, 107, 24, 104, 43, 25, 37, 99,
- 43, 23, 264, 265, 43, 53, 1, 43, 43, 4,
- 5, 43, 43, 8, 8, 277, 40, 12, 10, 11,
- 14, 13, 0, 18, 19, 20, 3, 22, 137, 53,
- 192, 26, 27, 28, 29, 30, 8, 9, 33, 34,
- 35, 36, 37, 0, 1, 159, 3, 42, 43, 180,
- 181, 8, 183, 7, 185, 1, 10, 7, 15, 16,
- 10, 7, 10, 11, 10, 1, 23, 24, 4, 5,
- 22, 1, 8, 25, 6, 5, 12, 11, 8, 13,
- 242, 43, 18, 19, 20, 194, 22, 17, 8, 5,
- 26, 27, 28, 29, 30, 15, 16, 33, 34, 261,
- 262, 31, 32, 23, 24, 9, 42, 43, 43, 39,
- 40, 41, 42, 43, 79, 11, 81, 13, 249, 250,
- 251, 252, 236, 88, 10, 11, 235, 4, 35, 36,
- 37, 8, 10, 11, 6, 12, 8, 9, 4, 11,
- 4, 18, 19, 20, 43, 22, 25, 6, 257, 26,
- 27, 28, 29, 30, 4, 4, 33, 34, 227, 4,
- 43, 38, 5, 4, 41, 42, 43, 8, 8, 43,
- 6, 12, 25, 282, 43, 9, 43, 18, 19, 20,
- 6, 22, 6, 14, 6, 26, 27, 28, 29, 30,
- 8, 22, 33, 34, 25, 43, 8, 8, 5, 43,
- 8, 42, 43, 5, 35, 5, 5, 13, 43, 40,
- 8, 6, 8, 4, 43, 8, 8, 4, 21, 8,
- 43, 7, 53, 43, 43, 13, 43, 43, 43, 43,
- 7, 11, 14, 43, 43, 25, 8, 8, 43, 43,
- 7, 11, 43, 5, 8, 5, 43, 8, 11, 43,
- 25, 163, 11, 7, 11, 13, 11, 13, 43, 43,
- 43, 8, 43, 7, 43, 43, 174, 210, 114, 216,
- 103, 99
+ 59, 20, 84, 68, 222, 119, 224, 121, 59, 40,
+ 11, 1, 1, 1, 73, 5, 5, 5, 43, 14,
+ 35, 32, 53, 7, 5, 40, 11, 22, 13, 7,
+ 25, 37, 43, 11, 12, 94, 10, 43, 53, 13,
+ 35, 100, 43, 108, 4, 40, 105, 37, 24, 100,
+ 268, 269, 23, 43, 43, 43, 37, 1, 53, 43,
+ 4, 5, 43, 281, 8, 43, 7, 7, 12, 10,
+ 0, 11, 12, 37, 18, 19, 20, 3, 22, 43,
+ 139, 195, 26, 27, 28, 29, 30, 1, 1, 33,
+ 34, 35, 36, 37, 7, 9, 161, 10, 42, 43,
+ 14, 183, 184, 43, 186, 80, 188, 82, 43, 8,
+ 8, 25, 171, 6, 89, 14, 1, 15, 16, 4,
+ 5, 8, 9, 8, 1, 23, 24, 12, 5, 10,
+ 11, 8, 246, 18, 19, 20, 7, 22, 197, 10,
+ 17, 26, 27, 28, 29, 30, 9, 22, 33, 34,
+ 25, 265, 266, 5, 31, 32, 4, 42, 43, 35,
+ 36, 37, 39, 40, 41, 42, 43, 10, 11, 43,
+ 13, 253, 254, 255, 256, 240, 11, 4, 13, 43,
+ 239, 4, 10, 11, 25, 8, 10, 11, 6, 12,
+ 8, 9, 6, 11, 4, 18, 19, 20, 4, 22,
+ 4, 43, 261, 26, 27, 28, 29, 30, 5, 8,
+ 33, 34, 231, 43, 6, 38, 25, 4, 41, 42,
+ 43, 8, 43, 9, 43, 12, 43, 286, 6, 6,
+ 43, 18, 19, 20, 8, 22, 8, 8, 6, 26,
+ 27, 28, 29, 30, 5, 43, 33, 34, 8, 0,
+ 1, 5, 3, 5, 13, 42, 43, 8, 8, 25,
+ 5, 8, 6, 4, 15, 16, 8, 43, 43, 8,
+ 4, 8, 23, 24, 43, 21, 43, 7, 43, 43,
+ 43, 43, 13, 7, 11, 43, 43, 43, 14, 25,
+ 43, 8, 8, 7, 43, 43, 11, 5, 8, 5,
+ 43, 8, 25, 43, 13, 43, 11, 11, 43, 11,
+ 43, 43, 11, 13, 43, 8, 7, 7, 43, 165,
+ 177, 104, 214, 220, 115, -1, -1, 100
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -905,28 +906,28 @@ static const yytype_uint8 yystos[] =
1, 8, 17, 31, 32, 39, 40, 41, 42, 43,
54, 56, 59, 60, 61, 62, 94, 95, 99, 4,
43, 43, 59, 25, 32, 43, 6, 4, 4, 4,
- 43, 1, 25, 5, 59, 4, 8, 12, 18, 19,
- 20, 22, 26, 27, 28, 29, 30, 33, 34, 38,
- 43, 54, 56, 68, 73, 74, 85, 87, 92, 93,
- 99, 8, 43, 6, 25, 43, 70, 1, 43, 96,
- 96, 5, 48, 97, 98, 9, 74, 1, 63, 74,
- 43, 83, 6, 66, 66, 6, 66, 37, 43, 72,
- 80, 72, 82, 8, 8, 8, 6, 66, 43, 6,
- 8, 11, 74, 7, 43, 69, 89, 8, 9, 5,
- 92, 8, 70, 74, 7, 11, 12, 43, 96, 8,
- 14, 5, 5, 13, 8, 1, 5, 97, 57, 63,
- 5, 63, 6, 8, 67, 4, 43, 64, 65, 71,
- 10, 13, 43, 10, 11, 13, 8, 10, 81, 8,
- 75, 74, 4, 86, 21, 79, 43, 7, 10, 78,
- 7, 43, 43, 43, 96, 43, 65, 8, 43, 7,
- 84, 69, 35, 36, 37, 90, 91, 43, 13, 7,
- 11, 72, 72, 72, 43, 72, 43, 14, 43, 63,
- 74, 43, 88, 43, 43, 25, 8, 8, 89, 7,
- 43, 43, 11, 5, 90, 43, 43, 71, 71, 10,
- 13, 10, 13, 48, 8, 5, 8, 25, 74, 96,
- 7, 11, 11, 63, 13, 11, 72, 72, 72, 72,
- 76, 74, 63, 63, 71, 71, 43, 13, 8, 71,
- 77, 43, 7, 74
+ 43, 1, 14, 25, 5, 59, 4, 8, 12, 18,
+ 19, 20, 22, 26, 27, 28, 29, 30, 33, 34,
+ 38, 43, 54, 56, 68, 73, 74, 85, 87, 92,
+ 93, 99, 8, 43, 6, 25, 43, 70, 1, 43,
+ 96, 96, 5, 48, 97, 98, 9, 43, 74, 1,
+ 63, 74, 43, 83, 6, 66, 66, 6, 66, 37,
+ 43, 72, 80, 72, 82, 8, 8, 8, 6, 66,
+ 43, 6, 8, 11, 74, 7, 43, 69, 89, 8,
+ 9, 5, 92, 8, 70, 74, 7, 11, 12, 43,
+ 96, 8, 14, 5, 5, 13, 8, 1, 5, 97,
+ 57, 25, 63, 5, 63, 6, 8, 67, 4, 43,
+ 64, 65, 71, 10, 13, 43, 10, 11, 13, 8,
+ 10, 81, 8, 75, 74, 4, 86, 21, 79, 43,
+ 7, 10, 78, 7, 43, 43, 43, 96, 43, 65,
+ 8, 43, 74, 7, 84, 69, 35, 36, 37, 90,
+ 91, 43, 13, 7, 11, 72, 72, 72, 43, 72,
+ 43, 14, 43, 63, 74, 43, 88, 43, 43, 25,
+ 8, 8, 89, 7, 43, 43, 11, 5, 90, 43,
+ 43, 71, 71, 10, 13, 10, 13, 48, 8, 5,
+ 8, 25, 74, 96, 7, 11, 11, 63, 13, 11,
+ 72, 72, 72, 72, 76, 74, 63, 63, 71, 71,
+ 43, 13, 8, 71, 77, 43, 7, 74
};
#define yyerrok (yyerrstatus = 0)
@@ -1451,7 +1452,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
case 43: /* "word" */
#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1455 "ael.tab.c"
+#line 1456 "ael.tab.c"
break;
case 46: /* "objects" */
#line 165 "ael.y"
@@ -1459,7 +1460,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1463 "ael.tab.c"
+#line 1464 "ael.tab.c"
break;
case 47: /* "object" */
#line 165 "ael.y"
@@ -1467,12 +1468,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1471 "ael.tab.c"
+#line 1472 "ael.tab.c"
break;
case 48: /* "context_name" */
#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1476 "ael.tab.c"
+#line 1477 "ael.tab.c"
break;
case 49: /* "context" */
#line 165 "ael.y"
@@ -1480,7 +1481,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1484 "ael.tab.c"
+#line 1485 "ael.tab.c"
break;
case 51: /* "macro" */
#line 165 "ael.y"
@@ -1488,7 +1489,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1492 "ael.tab.c"
+#line 1493 "ael.tab.c"
break;
case 52: /* "globals" */
#line 165 "ael.y"
@@ -1496,7 +1497,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1500 "ael.tab.c"
+#line 1501 "ael.tab.c"
break;
case 53: /* "global_statements" */
#line 165 "ael.y"
@@ -1504,7 +1505,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1508 "ael.tab.c"
+#line 1509 "ael.tab.c"
break;
case 54: /* "assignment" */
#line 165 "ael.y"
@@ -1512,7 +1513,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1516 "ael.tab.c"
+#line 1517 "ael.tab.c"
break;
case 56: /* "local_assignment" */
#line 165 "ael.y"
@@ -1520,7 +1521,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1524 "ael.tab.c"
+#line 1525 "ael.tab.c"
break;
case 58: /* "arglist" */
#line 165 "ael.y"
@@ -1528,7 +1529,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1532 "ael.tab.c"
+#line 1533 "ael.tab.c"
break;
case 59: /* "elements" */
#line 165 "ael.y"
@@ -1536,7 +1537,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1540 "ael.tab.c"
+#line 1541 "ael.tab.c"
break;
case 60: /* "element" */
#line 165 "ael.y"
@@ -1544,7 +1545,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1548 "ael.tab.c"
+#line 1549 "ael.tab.c"
break;
case 61: /* "ignorepat" */
#line 165 "ael.y"
@@ -1552,7 +1553,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1556 "ael.tab.c"
+#line 1557 "ael.tab.c"
break;
case 62: /* "extension" */
#line 165 "ael.y"
@@ -1560,7 +1561,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1564 "ael.tab.c"
+#line 1565 "ael.tab.c"
break;
case 63: /* "statements" */
#line 165 "ael.y"
@@ -1568,12 +1569,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1572 "ael.tab.c"
+#line 1573 "ael.tab.c"
break;
case 64: /* "timerange" */
#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1577 "ael.tab.c"
+#line 1578 "ael.tab.c"
break;
case 65: /* "timespec" */
#line 165 "ael.y"
@@ -1581,12 +1582,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1585 "ael.tab.c"
+#line 1586 "ael.tab.c"
break;
case 66: /* "test_expr" */
#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1590 "ael.tab.c"
+#line 1591 "ael.tab.c"
break;
case 68: /* "if_like_head" */
#line 165 "ael.y"
@@ -1594,22 +1595,22 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1598 "ael.tab.c"
+#line 1599 "ael.tab.c"
break;
case 69: /* "word_list" */
#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1603 "ael.tab.c"
+#line 1604 "ael.tab.c"
break;
case 71: /* "word3_list" */
#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1608 "ael.tab.c"
+#line 1609 "ael.tab.c"
break;
case 72: /* "goto_word" */
#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1613 "ael.tab.c"
+#line 1614 "ael.tab.c"
break;
case 73: /* "switch_statement" */
#line 165 "ael.y"
@@ -1617,7 +1618,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1621 "ael.tab.c"
+#line 1622 "ael.tab.c"
break;
case 74: /* "statement" */
#line 165 "ael.y"
@@ -1625,7 +1626,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1629 "ael.tab.c"
+#line 1630 "ael.tab.c"
break;
case 79: /* "opt_else" */
#line 165 "ael.y"
@@ -1633,7 +1634,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1637 "ael.tab.c"
+#line 1638 "ael.tab.c"
break;
case 80: /* "target" */
#line 165 "ael.y"
@@ -1641,12 +1642,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1645 "ael.tab.c"
+#line 1646 "ael.tab.c"
break;
case 81: /* "opt_pri" */
#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1650 "ael.tab.c"
+#line 1651 "ael.tab.c"
break;
case 82: /* "jumptarget" */
#line 165 "ael.y"
@@ -1654,7 +1655,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1658 "ael.tab.c"
+#line 1659 "ael.tab.c"
break;
case 83: /* "macro_call" */
#line 165 "ael.y"
@@ -1662,7 +1663,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1666 "ael.tab.c"
+#line 1667 "ael.tab.c"
break;
case 85: /* "application_call_head" */
#line 165 "ael.y"
@@ -1670,7 +1671,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1674 "ael.tab.c"
+#line 1675 "ael.tab.c"
break;
case 87: /* "application_call" */
#line 165 "ael.y"
@@ -1678,12 +1679,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1682 "ael.tab.c"
+#line 1683 "ael.tab.c"
break;
case 88: /* "opt_word" */
#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1687 "ael.tab.c"
+#line 1688 "ael.tab.c"
break;
case 89: /* "eval_arglist" */
#line 165 "ael.y"
@@ -1691,7 +1692,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1695 "ael.tab.c"
+#line 1696 "ael.tab.c"
break;
case 90: /* "case_statements" */
#line 165 "ael.y"
@@ -1699,7 +1700,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1703 "ael.tab.c"
+#line 1704 "ael.tab.c"
break;
case 91: /* "case_statement" */
#line 165 "ael.y"
@@ -1707,7 +1708,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1711 "ael.tab.c"
+#line 1712 "ael.tab.c"
break;
case 92: /* "macro_statements" */
#line 165 "ael.y"
@@ -1715,7 +1716,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1719 "ael.tab.c"
+#line 1720 "ael.tab.c"
break;
case 93: /* "macro_statement" */
#line 165 "ael.y"
@@ -1723,7 +1724,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1727 "ael.tab.c"
+#line 1728 "ael.tab.c"
break;
case 94: /* "switches" */
#line 165 "ael.y"
@@ -1731,7 +1732,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1735 "ael.tab.c"
+#line 1736 "ael.tab.c"
break;
case 95: /* "eswitches" */
#line 165 "ael.y"
@@ -1739,7 +1740,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1743 "ael.tab.c"
+#line 1744 "ael.tab.c"
break;
case 96: /* "switchlist" */
#line 165 "ael.y"
@@ -1747,7 +1748,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1751 "ael.tab.c"
+#line 1752 "ael.tab.c"
break;
case 97: /* "included_entry" */
#line 165 "ael.y"
@@ -1755,7 +1756,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1759 "ael.tab.c"
+#line 1760 "ael.tab.c"
break;
case 98: /* "includeslist" */
#line 165 "ael.y"
@@ -1763,7 +1764,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1767 "ael.tab.c"
+#line 1768 "ael.tab.c"
break;
case 99: /* "includes" */
#line 165 "ael.y"
@@ -1771,7 +1772,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1775 "ael.tab.c"
+#line 1776 "ael.tab.c"
break;
default:
@@ -2333,14 +2334,26 @@ yyreduce:
case 45:
#line 281 "ael.y"
{
+ (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (5)]), &(yylsp[(3) - (5)]));
+ (yyval.pval)->u1.str = malloc(strlen((yyvsp[(1) - (5)].str))+strlen((yyvsp[(3) - (5)].str))+2);
+ strcpy((yyval.pval)->u1.str,(yyvsp[(1) - (5)].str));
+ strcat((yyval.pval)->u1.str,"@");
+ strcat((yyval.pval)->u1.str,(yyvsp[(3) - (5)].str));
+ free((yyvsp[(1) - (5)].str));
+ (yyval.pval)->u2.statements = (yyvsp[(5) - (5)].pval); set_dads((yyval.pval),(yyvsp[(5) - (5)].pval));;}
+ break;
+
+ case 46:
+#line 289 "ael.y"
+ {
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
(yyval.pval)->u2.statements = (yyvsp[(4) - (4)].pval); set_dads((yyval.pval),(yyvsp[(4) - (4)].pval));
(yyval.pval)->u4.regexten=1;;}
break;
- case 46:
-#line 286 "ael.y"
+ case 47:
+#line 294 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (7)]), &(yylsp[(7) - (7)]));
(yyval.pval)->u1.str = (yyvsp[(5) - (7)].str);
@@ -2348,8 +2361,8 @@ yyreduce:
(yyval.pval)->u3.hints = (yyvsp[(3) - (7)].str);;}
break;
- case 47:
-#line 291 "ael.y"
+ case 48:
+#line 299 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (8)]), &(yylsp[(8) - (8)]));
(yyval.pval)->u1.str = (yyvsp[(6) - (8)].str);
@@ -2358,23 +2371,23 @@ yyreduce:
(yyval.pval)->u3.hints = (yyvsp[(4) - (8)].str);;}
break;
- case 48:
-#line 301 "ael.y"
+ case 49:
+#line 308 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 49:
-#line 302 "ael.y"
+ case 50:
+#line 309 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 50:
-#line 303 "ael.y"
+ case 51:
+#line 310 "ael.y"
{(yyval.pval)=(yyvsp[(2) - (2)].pval);;}
break;
- case 51:
-#line 309 "ael.y"
+ case 52:
+#line 316 "ael.y"
{
asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (yyvsp[(5) - (5)].str));
free((yyvsp[(1) - (5)].str));
@@ -2382,13 +2395,13 @@ yyreduce:
free((yyvsp[(5) - (5)].str)); ;}
break;
- case 52:
-#line 314 "ael.y"
+ case 53:
+#line 321 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
- case 53:
-#line 318 "ael.y"
+ case 54:
+#line 325 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (7)].str), &(yylsp[(1) - (7)]));
(yyval.pval)->next = nword((yyvsp[(3) - (7)].str), &(yylsp[(3) - (7)]));
@@ -2396,45 +2409,45 @@ yyreduce:
(yyval.pval)->next->next->next = nword((yyvsp[(7) - (7)].str), &(yylsp[(7) - (7)])); ;}
break;
- case 54:
-#line 326 "ael.y"
+ case 55:
+#line 333 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
- case 55:
-#line 326 "ael.y"
+ case 56:
+#line 333 "ael.y"
{ (yyval.str) = (yyvsp[(3) - (4)].str); ;}
break;
- case 56:
-#line 330 "ael.y"
+ case 57:
+#line 337 "ael.y"
{
(yyval.pval)= npval2(PV_IF, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (2)].str); ;}
break;
- case 57:
-#line 333 "ael.y"
+ case 58:
+#line 340 "ael.y"
{
(yyval.pval) = npval2(PV_RANDOM, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str=(yyvsp[(2) - (2)].str);;}
break;
- case 58:
-#line 336 "ael.y"
+ case 59:
+#line 343 "ael.y"
{
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);
prev_word = 0; ;}
break;
- case 59:
-#line 347 "ael.y"
+ case 60:
+#line 354 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;}
break;
- case 60:
-#line 348 "ael.y"
+ case 61:
+#line 355 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str));
@@ -2442,42 +2455,42 @@ yyreduce:
prev_word = (yyval.str);;}
break;
- case 61:
-#line 355 "ael.y"
+ case 62:
+#line 362 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
- case 62:
-#line 356 "ael.y"
+ case 63:
+#line 363 "ael.y"
{
asprintf(&((yyval.str)), "%s %s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str));
free((yyvsp[(2) - (2)].str)); ;}
break;
- case 63:
-#line 360 "ael.y"
+ case 64:
+#line 367 "ael.y"
{
asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str));
free((yyvsp[(3) - (3)].str)); ;}
break;
- case 64:
-#line 364 "ael.y"
+ case 65:
+#line 371 "ael.y"
{ /* there are often '&' in hints */
asprintf(&((yyval.str)), "%s&%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str));
free((yyvsp[(3) - (3)].str));;}
break;
- case 65:
-#line 370 "ael.y"
+ case 66:
+#line 377 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;}
break;
- case 66:
-#line 371 "ael.y"
+ case 67:
+#line 378 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str));
@@ -2485,8 +2498,8 @@ yyreduce:
prev_word = (yyval.str);;}
break;
- case 67:
-#line 376 "ael.y"
+ case 68:
+#line 383 "ael.y"
{
asprintf(&((yyval.str)), "%s%s%s", (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str));
@@ -2495,90 +2508,90 @@ yyreduce:
prev_word=(yyval.str);;}
break;
- case 68:
-#line 384 "ael.y"
+ case 69:
+#line 391 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;}
break;
- case 69:
-#line 385 "ael.y"
+ case 70:
+#line 392 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str));
free((yyvsp[(2) - (2)].str));;}
break;
- case 70:
-#line 389 "ael.y"
+ case 71:
+#line 396 "ael.y"
{
asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str));
free((yyvsp[(3) - (3)].str));;}
break;
- case 71:
-#line 395 "ael.y"
+ case 72:
+#line 402 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
(yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;}
break;
- case 72:
-#line 404 "ael.y"
+ case 73:
+#line 411 "ael.y"
{
(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));;}
break;
- case 73:
-#line 407 "ael.y"
+ case 74:
+#line 414 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break;
- case 74:
-#line 408 "ael.y"
+ case 75:
+#line 415 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break;
- case 75:
-#line 409 "ael.y"
+ case 76:
+#line 416 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
break;
- case 76:
-#line 412 "ael.y"
+ case 77:
+#line 419 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
break;
- case 77:
-#line 415 "ael.y"
+ case 78:
+#line 422 "ael.y"
{
(yyval.pval) = npval2(PV_LABEL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str); ;}
break;
- case 78:
-#line 418 "ael.y"
+ case 79:
+#line 425 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 79:
-#line 419 "ael.y"
+ case 80:
+#line 426 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 80:
-#line 420 "ael.y"
+ case 81:
+#line 427 "ael.y"
{reset_parencount(parseio->scanner);;}
break;
- case 81:
-#line 420 "ael.y"
+ case 82:
+#line 427 "ael.y"
{ /* XXX word_list maybe ? */
(yyval.pval) = npval2(PV_FOR, &(yylsp[(1) - (12)]), &(yylsp[(12) - (12)]));
(yyval.pval)->u1.for_init = (yyvsp[(4) - (12)].str);
@@ -2587,43 +2600,43 @@ yyreduce:
(yyval.pval)->u4.for_statements = (yyvsp[(12) - (12)].pval); set_dads((yyval.pval),(yyvsp[(12) - (12)].pval));;}
break;
- case 82:
-#line 426 "ael.y"
+ case 83:
+#line 433 "ael.y"
{
(yyval.pval) = npval2(PV_WHILE, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (3)].str);
(yyval.pval)->u2.statements = (yyvsp[(3) - (3)].pval); set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
break;
- case 83:
-#line 430 "ael.y"
+ case 84:
+#line 437 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break;
- case 84:
-#line 431 "ael.y"
+ case 85:
+#line 438 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(2) - (3)].pval), &(yylsp[(2) - (3)])); ;}
break;
- case 85:
-#line 432 "ael.y"
+ case 86:
+#line 439 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
break;
- case 86:
-#line 433 "ael.y"
+ case 87:
+#line 440 "ael.y"
{
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str);;}
break;
- case 87:
-#line 436 "ael.y"
+ case 88:
+#line 443 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 88:
-#line 436 "ael.y"
+ case 89:
+#line 443 "ael.y"
{
char *bufx;
int tot=0;
@@ -2659,127 +2672,127 @@ yyreduce:
;}
break;
- case 89:
-#line 469 "ael.y"
+ case 90:
+#line 476 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break;
- case 90:
-#line 470 "ael.y"
+ case 91:
+#line 477 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break;
- case 91:
-#line 471 "ael.y"
+ case 92:
+#line 478 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break;
- case 92:
-#line 472 "ael.y"
+ case 93:
+#line 479 "ael.y"
{
(yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(2) - (3)]));
(yyval.pval)->u2.statements = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));
(yyval.pval)->u3.else_statements = (yyvsp[(3) - (3)].pval);set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
break;
- case 93:
-#line 476 "ael.y"
+ case 94:
+#line 483 "ael.y"
{ (yyval.pval)=0; ;}
break;
- case 94:
-#line 479 "ael.y"
+ case 95:
+#line 486 "ael.y"
{ (yyval.pval) = (yyvsp[(2) - (2)].pval); ;}
break;
- case 95:
-#line 480 "ael.y"
+ case 96:
+#line 487 "ael.y"
{ (yyval.pval) = NULL ; ;}
break;
- case 96:
-#line 483 "ael.y"
+ case 97:
+#line 490 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
- case 97:
-#line 484 "ael.y"
+ case 98:
+#line 491 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;}
break;
- case 98:
-#line 487 "ael.y"
+ case 99:
+#line 494 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;}
break;
- case 99:
-#line 490 "ael.y"
+ case 100:
+#line 497 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
(yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
break;
- case 100:
-#line 494 "ael.y"
+ case 101:
+#line 501 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
(yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
break;
- case 101:
-#line 498 "ael.y"
+ case 102:
+#line 505 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
(yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
break;
- case 102:
-#line 502 "ael.y"
+ case 103:
+#line 509 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
(yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
break;
- case 103:
-#line 508 "ael.y"
+ case 104:
+#line 515 "ael.y"
{ (yyval.str) = strdup("1"); ;}
break;
- case 104:
-#line 509 "ael.y"
+ case 105:
+#line 516 "ael.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
- case 105:
-#line 513 "ael.y"
+ case 106:
+#line 520 "ael.y"
{ /* ext[, pri] default 1 */
(yyval.pval) = nword((yyvsp[(1) - (2)].str), &(yylsp[(1) - (2)]));
(yyval.pval)->next = nword((yyvsp[(2) - (2)].str), &(yylsp[(2) - (2)])); ;}
break;
- case 106:
-#line 516 "ael.y"
+ case 107:
+#line 523 "ael.y"
{ /* context, ext, pri */
(yyval.pval) = nword((yyvsp[(4) - (4)].str), &(yylsp[(4) - (4)]));
(yyval.pval)->next = nword((yyvsp[(1) - (4)].str), &(yylsp[(1) - (4)]));
(yyval.pval)->next->next = nword((yyvsp[(2) - (4)].str), &(yylsp[(2) - (4)])); ;}
break;
- case 107:
-#line 522 "ael.y"
+ case 108:
+#line 529 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 108:
-#line 522 "ael.y"
+ case 109:
+#line 529 "ael.y"
{
/* XXX original code had @2 but i think we need @5 */
(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
@@ -2787,20 +2800,20 @@ yyreduce:
(yyval.pval)->u2.arglist = (yyvsp[(4) - (5)].pval);;}
break;
- case 109:
-#line 527 "ael.y"
+ case 110:
+#line 534 "ael.y"
{
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (3)].str); ;}
break;
- case 110:
-#line 535 "ael.y"
+ case 111:
+#line 542 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 111:
-#line 535 "ael.y"
+ case 112:
+#line 542 "ael.y"
{
if (strcasecmp((yyvsp[(1) - (3)].str),"goto") == 0) {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(2) - (3)]));
@@ -2812,8 +2825,8 @@ yyreduce:
} ;}
break;
- case 112:
-#line 546 "ael.y"
+ case 113:
+#line 553 "ael.y"
{
(yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(3) - (3)]));
if( (yyval.pval)->type == PV_GOTO )
@@ -2823,179 +2836,179 @@ yyreduce:
;}
break;
- case 113:
-#line 553 "ael.y"
+ case 114:
+#line 560 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
break;
- case 114:
-#line 556 "ael.y"
+ case 115:
+#line 563 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str) ;}
break;
- case 115:
-#line 557 "ael.y"
+ case 116:
+#line 564 "ael.y"
{ (yyval.str) = strdup(""); ;}
break;
- case 116:
-#line 560 "ael.y"
+ case 117:
+#line 567 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
- case 117:
-#line 561 "ael.y"
+ case 118:
+#line 568 "ael.y"
{
(yyval.pval)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/);
(yyval.pval)->u1.str = strdup(""); ;}
break;
- case 118:
-#line 564 "ael.y"
+ case 119:
+#line 571 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;}
break;
- case 119:
-#line 567 "ael.y"
+ case 120:
+#line 574 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 120:
-#line 568 "ael.y"
+ case 121:
+#line 575 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 121:
-#line 571 "ael.y"
+ case 122:
+#line 578 "ael.y"
{
(yyval.pval) = npval2(PV_CASE, &(yylsp[(1) - (4)]), &(yylsp[(3) - (4)])); /* XXX 3 or 4 ? */
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
(yyval.pval)->u2.statements = (yyvsp[(4) - (4)].pval); set_dads((yyval.pval),(yyvsp[(4) - (4)].pval));;}
break;
- case 122:
-#line 575 "ael.y"
+ case 123:
+#line 582 "ael.y"
{
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = NULL;
(yyval.pval)->u2.statements = (yyvsp[(3) - (3)].pval);set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
break;
- case 123:
-#line 579 "ael.y"
+ case 124:
+#line 586 "ael.y"
{
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); /* XXX@3 or @4 ? */
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
(yyval.pval)->u2.statements = (yyvsp[(4) - (4)].pval);set_dads((yyval.pval),(yyvsp[(4) - (4)].pval));;}
break;
- case 124:
-#line 585 "ael.y"
+ case 125:
+#line 592 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 125:
-#line 586 "ael.y"
+ case 126:
+#line 593 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 126:
-#line 589 "ael.y"
+ case 127:
+#line 596 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
- case 127:
-#line 590 "ael.y"
+ case 128:
+#line 597 "ael.y"
{ (yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
- case 128:
-#line 591 "ael.y"
+ case 129:
+#line 598 "ael.y"
{
(yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
(yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;}
break;
- case 129:
-#line 597 "ael.y"
+ case 130:
+#line 604 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
break;
- case 130:
-#line 602 "ael.y"
+ case 131:
+#line 609 "ael.y"
{
(yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
break;
- case 131:
-#line 607 "ael.y"
+ case 132:
+#line 614 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 132:
-#line 608 "ael.y"
+ case 133:
+#line 615 "ael.y"
{ (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;}
break;
- case 133:
-#line 609 "ael.y"
+ case 134:
+#line 616 "ael.y"
{ char *x; asprintf(&x,"%s@%s", (yyvsp[(1) - (5)].str),(yyvsp[(3) - (5)].str)); free((yyvsp[(1) - (5)].str)); free((yyvsp[(3) - (5)].str));
(yyval.pval) = linku1(nword(x, &(yylsp[(1) - (5)])), (yyvsp[(5) - (5)].pval));;}
break;
- case 134:
-#line 611 "ael.y"
+ case 135:
+#line 618 "ael.y"
{(yyval.pval)=(yyvsp[(2) - (2)].pval);;}
break;
- case 135:
-#line 614 "ael.y"
+ case 136:
+#line 621 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
- case 136:
-#line 615 "ael.y"
+ case 137:
+#line 622 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval);
prev_word=0; /* XXX sure ? */ ;}
break;
- case 137:
-#line 622 "ael.y"
+ case 138:
+#line 629 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
break;
- case 138:
-#line 623 "ael.y"
+ case 139:
+#line 630 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
break;
- case 139:
-#line 624 "ael.y"
+ case 140:
+#line 631 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
- case 140:
-#line 627 "ael.y"
+ case 141:
+#line 634 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
break;
- case 141:
-#line 630 "ael.y"
+ case 142:
+#line 637 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;}
break;
/* Line 1270 of yacc.c. */
-#line 2999 "ael.tab.c"
+#line 3012 "ael.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3214,7 +3227,7 @@ yyreturn:
}
-#line 635 "ael.y"
+#line 642 "ael.y"
static char *token_equivs1[] =
diff --git a/res/ael/ael.y b/res/ael/ael.y
index cac4a4266..a8df1cb51 100644
--- a/res/ael/ael.y
+++ b/res/ael/ael.y
@@ -278,6 +278,14 @@ extension : word EXTENMARK statement {
$$ = npval2(PV_EXTENSION, &@1, &@3);
$$->u1.str = $1;
$$->u2.statements = $3; set_dads($$,$3);}
+ | word AT word EXTENMARK statement {
+ $$ = npval2(PV_EXTENSION, &@1, &@3);
+ $$->u1.str = malloc(strlen($1)+strlen($3)+2);
+ strcpy($$->u1.str,$1);
+ strcat($$->u1.str,"@");
+ strcat($$->u1.str,$3);
+ free($1);
+ $$->u2.statements = $5; set_dads($$,$5);}
| KW_REGEXTEN word EXTENMARK statement {
$$ = npval2(PV_EXTENSION, &@1, &@4);
$$->u1.str = $2;
@@ -294,7 +302,6 @@ extension : word EXTENMARK statement {
$$->u2.statements = $8; set_dads($$,$8);
$$->u4.regexten=1;
$$->u3.hints = $4;}
-
;
/* list of statements in a block or after a case label - can be empty */
diff --git a/res/ael/ael_lex.c b/res/ael/ael_lex.c
index 0ae6a7754..6a3e2c16b 100644
--- a/res/ael/ael_lex.c
+++ b/res/ael/ael_lex.c
@@ -9,7 +9,7 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 31
+#define YY_FLEX_SUBMINOR_VERSION 33
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -32,7 +32,15 @@
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#if __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types.
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
#include <inttypes.h>
typedef int8_t flex_int8_t;
typedef uint8_t flex_uint8_t;
@@ -155,6 +163,10 @@ int ael_yylex_init (yyscan_t* scanner);
#define YY_BUF_SIZE 16384
#endif
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
#define YY_TYPEDEF_YY_BUFFER_STATE
typedef struct yy_buffer_state *YY_BUFFER_STATE;
@@ -400,62 +412,62 @@ static yyconst flex_int32_t yy_ec[256] =
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 5, 39, 40, 41, 42, 5, 43, 44,
- 5, 5, 45, 46, 47, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1
+ 5, 5, 45, 46, 47, 1, 1, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48
} ;
-static yyconst flex_int32_t yy_meta[48] =
+static yyconst flex_int32_t yy_meta[49] =
{ 0,
1, 1, 2, 1, 3, 4, 3, 1, 1, 1,
5, 1, 3, 1, 1, 1, 3, 1, 3, 3,
- 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 1, 3
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 1, 3, 3
} ;
static yyconst flex_int16_t yy_base[257] =
{ 0,
- 0, 0, 39, 42, 81, 120, 159, 198, 47, 54,
- 319, 985, 316, 985, 313, 0, 285, 985, 985, 985,
- 985, 42, 985, 985, 298, 985, 290, 274, 31, 285,
- 32, 274, 33, 279, 45, 267, 271, 284, 283, 48,
- 262, 274, 985, 985, 985, 73, 985, 985, 89, 985,
- 237, 985, 985, 985, 276, 315, 985, 985, 985, 354,
- 985, 300, 985, 66, 300, 297, 0, 264, 0, 401,
- 985, 259, 268, 64, 258, 265, 252, 247, 248, 249,
- 250, 242, 245, 261, 243, 253, 242, 251, 250, 233,
- 237, 51, 241, 240, 103, 985, 985, 137, 985, 142,
-
- 176, 181, 439, 985, 985, 985, 478, 517, 556, 595,
- 634, 985, 985, 985, 673, 985, 712, 751, 790, 829,
- 267, 985, 103, 985, 104, 985, 244, 0, 876, 227,
- 244, 239, 240, 223, 240, 235, 230, 233, 0, 232,
- 218, 213, 222, 214, 216, 211, 225, 205, 201, 215,
- 213, 197, 197, 203, 202, 196, 201, 0, 203, 100,
- 190, 0, 190, 194, 206, 0, 0, 192, 186, 182,
- 0, 188, 180, 189, 178, 170, 174, 187, 184, 167,
- 182, 0, 0, 156, 163, 161, 169, 167, 158, 161,
- 156, 152, 0, 0, 138, 141, 134, 137, 136, 0,
-
- 135, 135, 115, 113, 113, 123, 0, 109, 0, 107,
- 117, 107, 0, 112, 0, 111, 110, 92, 0, 105,
- 0, 95, 0, 85, 60, 0, 61, 48, 117, 0,
- 0, 45, 37, 0, 0, 0, 168, 0, 0, 0,
- 50, 985, 985, 922, 927, 932, 937, 940, 945, 950,
- 955, 960, 964, 969, 974, 979
+ 0, 0, 40, 43, 82, 121, 160, 199, 48, 55,
+ 320, 986, 317, 986, 314, 0, 286, 986, 986, 986,
+ 986, 43, 986, 986, 299, 986, 291, 275, 32, 286,
+ 33, 275, 34, 280, 46, 268, 272, 285, 284, 49,
+ 263, 275, 986, 986, 986, 74, 986, 986, 90, 986,
+ 238, 986, 986, 986, 277, 316, 986, 986, 986, 355,
+ 986, 301, 986, 67, 301, 298, 0, 265, 0, 402,
+ 986, 260, 269, 65, 259, 266, 253, 248, 249, 250,
+ 251, 243, 246, 262, 244, 254, 243, 252, 251, 234,
+ 238, 52, 242, 241, 104, 986, 986, 138, 986, 143,
+
+ 177, 182, 440, 986, 986, 986, 479, 518, 557, 596,
+ 635, 986, 986, 986, 674, 986, 713, 752, 791, 830,
+ 268, 986, 104, 986, 105, 986, 245, 0, 877, 228,
+ 245, 240, 241, 224, 241, 236, 231, 234, 0, 233,
+ 219, 214, 223, 215, 217, 212, 226, 206, 202, 216,
+ 214, 198, 198, 204, 203, 197, 202, 0, 204, 101,
+ 191, 0, 191, 195, 207, 0, 0, 193, 187, 183,
+ 0, 189, 181, 190, 179, 171, 175, 188, 185, 168,
+ 183, 0, 0, 157, 164, 162, 170, 168, 159, 162,
+ 157, 153, 0, 0, 139, 142, 135, 138, 137, 0,
+
+ 136, 136, 116, 114, 114, 124, 0, 110, 0, 108,
+ 118, 108, 0, 113, 0, 112, 111, 93, 0, 106,
+ 0, 96, 0, 86, 61, 0, 62, 49, 118, 0,
+ 0, 46, 38, 0, 0, 0, 169, 0, 0, 0,
+ 51, 986, 986, 923, 928, 933, 938, 941, 946, 951,
+ 956, 961, 965, 970, 975, 980
} ;
static yyconst flex_int16_t yy_def[257] =
@@ -490,240 +502,240 @@ static yyconst flex_int16_t yy_def[257] =
243, 243, 243, 243, 243, 243
} ;
-static yyconst flex_int16_t yy_nxt[1033] =
+static yyconst flex_int16_t yy_nxt[1035] =
{ 0,
12, 13, 14, 15, 16, 16, 17, 18, 19, 20,
16, 21, 22, 23, 24, 25, 16, 26, 16, 16,
- 12, 16, 27, 28, 29, 30, 31, 32, 33, 34,
+ 16, 16, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 16, 37, 38, 16, 16, 39, 40, 41,
- 16, 16, 42, 16, 43, 44, 45, 47, 48, 63,
- 47, 48, 69, 74, 70, 242, 63, 64, 47, 49,
- 50, 47, 49, 50, 64, 77, 81, 75, 124, 82,
- 91, 78, 84, 85, 92, 79, 125, 239, 126, 151,
- 86, 96, 97, 47, 238, 50, 47, 236, 50, 52,
- 53, 152, 96, 98, 99, 54, 235, 100, 101, 234,
-
- 52, 55, 53, 132, 133, 124, 124, 233, 100, 98,
- 102, 96, 97, 243, 125, 243, 243, 96, 237, 99,
- 237, 232, 96, 98, 99, 52, 184, 53, 52, 53,
- 185, 231, 230, 100, 54, 102, 229, 228, 227, 52,
- 55, 53, 226, 225, 224, 100, 101, 96, 223, 99,
- 96, 97, 222, 221, 220, 219, 100, 98, 102, 218,
- 217, 96, 98, 99, 52, 216, 53, 57, 58, 237,
- 59, 237, 215, 240, 214, 213, 212, 211, 57, 60,
- 61, 100, 210, 102, 96, 97, 96, 209, 99, 96,
- 97, 208, 207, 206, 205, 96, 98, 99, 204, 203,
-
- 96, 98, 99, 57, 202, 61, 57, 58, 201, 59,
- 200, 199, 198, 197, 196, 195, 194, 57, 60, 61,
- 96, 193, 99, 192, 191, 96, 190, 99, 189, 188,
- 187, 186, 183, 182, 181, 180, 179, 178, 177, 176,
- 175, 174, 57, 173, 61, 104, 105, 172, 171, 170,
- 169, 106, 168, 167, 166, 165, 104, 107, 105, 164,
- 163, 162, 161, 160, 159, 158, 157, 156, 155, 122,
- 154, 153, 150, 149, 148, 147, 146, 145, 144, 143,
- 142, 104, 141, 105, 108, 109, 140, 139, 138, 137,
- 110, 136, 135, 134, 131, 108, 107, 109, 130, 127,
-
- 66, 65, 122, 94, 93, 90, 89, 88, 87, 83,
- 80, 76, 73, 72, 71, 68, 66, 65, 243, 243,
- 108, 243, 109, 112, 113, 243, 114, 243, 243, 243,
- 243, 243, 243, 243, 112, 115, 116, 243, 243, 243,
+ 16, 16, 42, 16, 43, 44, 45, 16, 47, 48,
+ 63, 47, 48, 69, 74, 70, 242, 63, 64, 47,
+ 49, 50, 47, 49, 50, 64, 77, 81, 75, 124,
+ 82, 91, 78, 84, 85, 92, 79, 125, 239, 126,
+ 151, 86, 96, 97, 47, 238, 50, 47, 236, 50,
+ 52, 53, 152, 96, 98, 99, 54, 235, 100, 101,
+
+ 234, 52, 55, 53, 132, 133, 124, 124, 233, 100,
+ 98, 102, 96, 97, 243, 125, 243, 243, 96, 237,
+ 99, 237, 232, 96, 98, 99, 52, 184, 53, 52,
+ 53, 185, 231, 230, 100, 54, 102, 229, 228, 227,
+ 52, 55, 53, 226, 225, 224, 100, 101, 96, 223,
+ 99, 96, 97, 222, 221, 220, 219, 100, 98, 102,
+ 218, 217, 96, 98, 99, 52, 216, 53, 57, 58,
+ 237, 59, 237, 215, 240, 214, 213, 212, 211, 57,
+ 60, 61, 100, 210, 102, 96, 97, 96, 209, 99,
+ 96, 97, 208, 207, 206, 205, 96, 98, 99, 204,
+
+ 203, 96, 98, 99, 57, 202, 61, 57, 58, 201,
+ 59, 200, 199, 198, 197, 196, 195, 194, 57, 60,
+ 61, 96, 193, 99, 192, 191, 96, 190, 99, 189,
+ 188, 187, 186, 183, 182, 181, 180, 179, 178, 177,
+ 176, 175, 174, 57, 173, 61, 104, 105, 172, 171,
+ 170, 169, 106, 168, 167, 166, 165, 104, 107, 105,
+ 164, 163, 162, 161, 160, 159, 158, 157, 156, 155,
+ 122, 154, 153, 150, 149, 148, 147, 146, 145, 144,
+ 143, 142, 104, 141, 105, 108, 109, 140, 139, 138,
+ 137, 110, 136, 135, 134, 131, 108, 107, 109, 130,
+
+ 127, 66, 65, 122, 94, 93, 90, 89, 88, 87,
+ 83, 80, 76, 73, 72, 71, 68, 66, 65, 243,
+ 243, 108, 243, 109, 112, 113, 243, 114, 243, 243,
+ 243, 243, 243, 243, 243, 112, 115, 116, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 243, 243, 112,
- 243, 116, 117, 118, 243, 119, 243, 243, 243, 243,
- 243, 243, 243, 117, 115, 120, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 243, 117, 243,
+ 112, 243, 116, 117, 118, 243, 119, 243, 243, 243,
+ 243, 243, 243, 243, 117, 115, 120, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 117,
- 120, 128, 128, 243, 128, 243, 243, 243, 128, 128,
- 128, 243, 128, 243, 128, 128, 128, 243, 128, 243,
- 243, 128, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 120, 128, 128, 243, 128, 243, 243, 243, 128,
+ 128, 128, 243, 128, 243, 128, 128, 128, 243, 128,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 128, 104, 105, 243,
- 243, 243, 243, 106, 243, 243, 243, 243, 104, 107,
- 105, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 128, 104, 105,
+ 243, 243, 243, 243, 106, 243, 243, 243, 243, 104,
+ 107, 105, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 104, 243, 105, 108, 109, 243, 243,
- 243, 243, 110, 243, 243, 243, 243, 108, 107, 109,
+ 243, 243, 243, 243, 104, 243, 105, 108, 109, 243,
+ 243, 243, 243, 110, 243, 243, 243, 243, 108, 107,
+ 109, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 108, 243, 109, 104, 105, 243, 243,
+ 243, 243, 106, 243, 243, 243, 243, 104, 107, 105,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 108, 243, 109, 104, 105, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 104, 243, 105, 104, 105, 243, 243, 243,
243, 106, 243, 243, 243, 243, 104, 107, 105, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+
243, 104, 243, 105, 104, 105, 243, 243, 243, 243,
106, 243, 243, 243, 243, 104, 107, 105, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
-
- 104, 243, 105, 104, 105, 243, 243, 243, 243, 106,
- 243, 243, 243, 243, 104, 107, 105, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 243, 243, 104,
- 243, 105, 112, 113, 243, 114, 243, 243, 243, 243,
- 243, 243, 243, 112, 115, 116, 243, 243, 243, 243,
+ 104, 243, 105, 112, 113, 243, 114, 243, 243, 243,
+ 243, 243, 243, 243, 112, 115, 116, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 243, 112, 243,
- 116, 117, 118, 243, 119, 243, 243, 243, 243, 243,
- 243, 243, 117, 115, 120, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 112,
+ 243, 116, 117, 118, 243, 119, 243, 243, 243, 243,
+ 243, 243, 243, 117, 115, 120, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 117, 243, 120,
+ 243, 243, 243, 243, 243, 243, 243, 243, 117, 243,
+ 120, 112, 113, 243, 114, 243, 243, 243, 243, 243,
+ 243, 243, 112, 115, 116, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 112, 243, 116,
112, 113, 243, 114, 243, 243, 243, 243, 243, 243,
243, 112, 115, 116, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 112, 243, 116, 112,
+
113, 243, 114, 243, 243, 243, 243, 243, 243, 243,
112, 115, 116, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 112, 243, 116, 112, 113,
-
243, 114, 243, 243, 243, 243, 243, 243, 243, 112,
115, 116, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 112, 243, 116, 112, 113, 243,
- 114, 243, 243, 243, 243, 243, 243, 243, 112, 115,
- 116, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 112, 243, 116, 128, 128, 243, 128,
- 243, 243, 243, 128, 128, 128, 243, 128, 243, 128,
- 128, 128, 243, 128, 243, 243, 128, 243, 243, 243,
+ 243, 243, 243, 243, 112, 243, 116, 128, 128, 243,
+ 128, 243, 243, 243, 128, 128, 128, 243, 128, 243,
+ 128, 128, 128, 243, 128, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 128, 46, 46, 46, 46, 46, 51, 51, 51,
- 51, 51, 56, 56, 56, 56, 56, 62, 62, 62,
- 62, 62, 67, 67, 67, 95, 95, 95, 95, 95,
- 103, 103, 103, 103, 103, 111, 111, 111, 111, 111,
- 121, 121, 121, 121, 123, 123, 123, 123, 123, 129,
- 243, 129, 129, 129, 128, 243, 128, 128, 128, 241,
- 241, 241, 243, 241, 11, 243, 243, 243, 243, 243,
+ 243, 243, 128, 46, 46, 46, 46, 46, 51, 51,
+ 51, 51, 51, 56, 56, 56, 56, 56, 62, 62,
+ 62, 62, 62, 67, 67, 67, 95, 95, 95, 95,
+ 95, 103, 103, 103, 103, 103, 111, 111, 111, 111,
+ 111, 121, 121, 121, 121, 123, 123, 123, 123, 123,
+ 129, 243, 129, 129, 129, 128, 243, 128, 128, 128,
+ 241, 241, 241, 243, 241, 11, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243
+ 243, 243, 243, 243
} ;
-static yyconst flex_int16_t yy_chk[1033] =
+static yyconst flex_int16_t yy_chk[1035] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 3, 3, 9,
- 4, 4, 22, 29, 22, 241, 10, 9, 3, 3,
- 3, 4, 4, 4, 10, 31, 33, 29, 64, 33,
- 40, 31, 35, 35, 40, 31, 64, 233, 64, 92,
- 35, 46, 46, 3, 232, 3, 4, 228, 4, 5,
- 5, 92, 46, 46, 46, 5, 227, 49, 49, 225,
-
- 5, 5, 5, 74, 74, 123, 125, 224, 49, 49,
- 49, 95, 95, 123, 125, 123, 125, 46, 229, 46,
- 229, 222, 95, 95, 95, 5, 160, 5, 6, 6,
- 160, 220, 218, 49, 6, 49, 217, 216, 214, 6,
- 6, 6, 212, 211, 210, 98, 98, 95, 208, 95,
- 100, 100, 206, 205, 204, 203, 98, 98, 98, 202,
- 201, 100, 100, 100, 6, 199, 6, 7, 7, 237,
- 7, 237, 198, 237, 197, 196, 195, 192, 7, 7,
- 7, 98, 191, 98, 101, 101, 100, 190, 100, 102,
- 102, 189, 188, 187, 186, 101, 101, 101, 185, 184,
-
- 102, 102, 102, 7, 181, 7, 8, 8, 180, 8,
- 179, 178, 177, 176, 175, 174, 173, 8, 8, 8,
- 101, 172, 101, 170, 169, 102, 168, 102, 165, 164,
- 163, 161, 159, 157, 156, 155, 154, 153, 152, 151,
- 150, 149, 8, 148, 8, 51, 51, 147, 146, 145,
- 144, 51, 143, 142, 141, 140, 51, 51, 51, 138,
- 137, 136, 135, 134, 133, 132, 131, 130, 127, 121,
- 94, 93, 91, 90, 89, 88, 87, 86, 85, 84,
- 83, 51, 82, 51, 55, 55, 81, 80, 79, 78,
- 55, 77, 76, 75, 73, 55, 55, 55, 72, 68,
-
- 66, 65, 62, 42, 41, 39, 38, 37, 36, 34,
- 32, 30, 28, 27, 25, 17, 15, 13, 11, 0,
- 55, 0, 55, 56, 56, 0, 56, 0, 0, 0,
- 0, 0, 0, 0, 56, 56, 56, 0, 0, 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
+ 9, 4, 4, 22, 29, 22, 241, 10, 9, 3,
+ 3, 3, 4, 4, 4, 10, 31, 33, 29, 64,
+ 33, 40, 31, 35, 35, 40, 31, 64, 233, 64,
+ 92, 35, 46, 46, 3, 232, 3, 4, 228, 4,
+ 5, 5, 92, 46, 46, 46, 5, 227, 49, 49,
+
+ 225, 5, 5, 5, 74, 74, 123, 125, 224, 49,
+ 49, 49, 95, 95, 123, 125, 123, 125, 46, 229,
+ 46, 229, 222, 95, 95, 95, 5, 160, 5, 6,
+ 6, 160, 220, 218, 49, 6, 49, 217, 216, 214,
+ 6, 6, 6, 212, 211, 210, 98, 98, 95, 208,
+ 95, 100, 100, 206, 205, 204, 203, 98, 98, 98,
+ 202, 201, 100, 100, 100, 6, 199, 6, 7, 7,
+ 237, 7, 237, 198, 237, 197, 196, 195, 192, 7,
+ 7, 7, 98, 191, 98, 101, 101, 100, 190, 100,
+ 102, 102, 189, 188, 187, 186, 101, 101, 101, 185,
+
+ 184, 102, 102, 102, 7, 181, 7, 8, 8, 180,
+ 8, 179, 178, 177, 176, 175, 174, 173, 8, 8,
+ 8, 101, 172, 101, 170, 169, 102, 168, 102, 165,
+ 164, 163, 161, 159, 157, 156, 155, 154, 153, 152,
+ 151, 150, 149, 8, 148, 8, 51, 51, 147, 146,
+ 145, 144, 51, 143, 142, 141, 140, 51, 51, 51,
+ 138, 137, 136, 135, 134, 133, 132, 131, 130, 127,
+ 121, 94, 93, 91, 90, 89, 88, 87, 86, 85,
+ 84, 83, 51, 82, 51, 55, 55, 81, 80, 79,
+ 78, 55, 77, 76, 75, 73, 55, 55, 55, 72,
+
+ 68, 66, 65, 62, 42, 41, 39, 38, 37, 36,
+ 34, 32, 30, 28, 27, 25, 17, 15, 13, 11,
+ 0, 55, 0, 55, 56, 56, 0, 56, 0, 0,
+ 0, 0, 0, 0, 0, 56, 56, 56, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
- 0, 56, 60, 60, 0, 60, 0, 0, 0, 0,
- 0, 0, 0, 60, 60, 60, 0, 0, 0, 0,
+ 56, 0, 56, 60, 60, 0, 60, 0, 0, 0,
+ 0, 0, 0, 0, 60, 60, 60, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 60, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 60,
- 60, 70, 70, 0, 70, 0, 0, 0, 70, 70,
- 70, 0, 70, 0, 70, 70, 70, 0, 70, 0,
- 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 60, 70, 70, 0, 70, 0, 0, 0, 70,
+ 70, 70, 0, 70, 0, 70, 70, 70, 0, 70,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 70, 103, 103, 0,
- 0, 0, 0, 103, 0, 0, 0, 0, 103, 103,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 103, 0, 103, 107, 107, 0, 0,
- 0, 0, 107, 0, 0, 0, 0, 107, 107, 107,
-
+ 0, 0, 0, 0, 0, 0, 0, 70, 103, 103,
+ 0, 0, 0, 0, 103, 0, 0, 0, 0, 103,
+ 103, 103, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 103, 0, 103, 107, 107, 0,
+ 0, 0, 0, 107, 0, 0, 0, 0, 107, 107,
+
+ 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 107, 0, 107, 108, 108, 0, 0, 0,
- 0, 108, 0, 0, 0, 0, 108, 108, 108, 0,
+ 0, 0, 0, 107, 0, 107, 108, 108, 0, 0,
+ 0, 0, 108, 0, 0, 0, 0, 108, 108, 108,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 108, 0, 108, 109, 109, 0, 0, 0, 0,
- 109, 0, 0, 0, 0, 109, 109, 109, 0, 0,
+ 0, 0, 108, 0, 108, 109, 109, 0, 0, 0,
+ 0, 109, 0, 0, 0, 0, 109, 109, 109, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 109, 0, 109, 110, 110, 0, 0, 0, 0, 110,
- 0, 0, 0, 0, 110, 110, 110, 0, 0, 0,
+ 0, 109, 0, 109, 110, 110, 0, 0, 0, 0,
+ 110, 0, 0, 0, 0, 110, 110, 110, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 110,
- 0, 110, 111, 111, 0, 111, 0, 0, 0, 0,
- 0, 0, 0, 111, 111, 111, 0, 0, 0, 0,
+ 110, 0, 110, 111, 111, 0, 111, 0, 0, 0,
+ 0, 0, 0, 0, 111, 111, 111, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 111, 0,
- 111, 115, 115, 0, 115, 0, 0, 0, 0, 0,
- 0, 0, 115, 115, 115, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 111,
+ 0, 111, 115, 115, 0, 115, 0, 0, 0, 0,
+ 0, 0, 0, 115, 115, 115, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 115, 0, 115,
- 117, 117, 0, 117, 0, 0, 0, 0, 0, 0,
- 0, 117, 117, 117, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
+ 115, 117, 117, 0, 117, 0, 0, 0, 0, 0,
+ 0, 0, 117, 117, 117, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 117, 0, 117, 118,
- 118, 0, 118, 0, 0, 0, 0, 0, 0, 0,
- 118, 118, 118, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 117, 0, 117,
+ 118, 118, 0, 118, 0, 0, 0, 0, 0, 0,
+ 0, 118, 118, 118, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 118, 0, 118, 119, 119,
+ 0, 0, 0, 0, 0, 0, 118, 0, 118, 119,
- 0, 119, 0, 0, 0, 0, 0, 0, 0, 119,
- 119, 119, 0, 0, 0, 0, 0, 0, 0, 0,
+ 119, 0, 119, 0, 0, 0, 0, 0, 0, 0,
+ 119, 119, 119, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 119, 0, 119, 120, 120, 0,
- 120, 0, 0, 0, 0, 0, 0, 0, 120, 120,
- 120, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 119, 0, 119, 120, 120,
+ 0, 120, 0, 0, 0, 0, 0, 0, 0, 120,
+ 120, 120, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 120, 0, 120, 129, 129, 0, 129,
- 0, 0, 0, 129, 129, 129, 0, 129, 0, 129,
- 129, 129, 0, 129, 0, 0, 129, 0, 0, 0,
+ 0, 0, 0, 0, 120, 0, 120, 129, 129, 0,
+ 129, 0, 0, 0, 129, 129, 129, 0, 129, 0,
+ 129, 129, 129, 0, 129, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 129, 244, 244, 244, 244, 244, 245, 245, 245,
- 245, 245, 246, 246, 246, 246, 246, 247, 247, 247,
- 247, 247, 248, 248, 248, 249, 249, 249, 249, 249,
- 250, 250, 250, 250, 250, 251, 251, 251, 251, 251,
- 252, 252, 252, 252, 253, 253, 253, 253, 253, 254,
- 0, 254, 254, 254, 255, 0, 255, 255, 255, 256,
- 256, 256, 0, 256, 243, 243, 243, 243, 243, 243,
+ 0, 0, 129, 244, 244, 244, 244, 244, 245, 245,
+ 245, 245, 245, 246, 246, 246, 246, 246, 247, 247,
+ 247, 247, 247, 248, 248, 248, 249, 249, 249, 249,
+ 249, 250, 250, 250, 250, 250, 251, 251, 251, 251,
+ 251, 252, 252, 252, 252, 253, 253, 253, 253, 253,
+ 254, 0, 254, 254, 254, 255, 0, 255, 255, 255,
+ 256, 256, 256, 0, 256, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243
+ 243, 243, 243, 243
} ;
/* The intent behind this definition is that it'll catch
@@ -892,7 +904,7 @@ static void pbcwhere(const char *text, int *line, int *col )
#define STORE_POS
#define STORE_LOC
#endif
-#line 895 "ael_lex.c"
+#line 907 "ael_lex.c"
#define INITIAL 0
#define paren 1
@@ -1102,11 +1114,9 @@ static int input (yyscan_t yyscanner );
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1
-extern int ael_yylex \
- (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
+extern int ael_yylex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
-#define YY_DECL int ael_yylex \
- (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
+#define YY_DECL int ael_yylex (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
#endif /* !YY_DECL */
/* Code executed at the beginning of each rule, after yytext and yyleng
@@ -1133,18 +1143,18 @@ YY_DECL
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 181 "ael.flex"
+#line 183 "ael.flex"
-#line 1139 "ael_lex.c"
+#line 1149 "ael_lex.c"
yylval = yylval_param;
yylloc = yylloc_param;
- if ( yyg->yy_init )
+ if ( !yyg->yy_init )
{
- yyg->yy_init = 0;
+ yyg->yy_init = 1;
#ifdef YY_USER_INIT
YY_USER_INIT;
@@ -1227,260 +1237,260 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 183 "ael.flex"
+#line 185 "ael.flex"
{ STORE_POS; return LC;}
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 184 "ael.flex"
+#line 186 "ael.flex"
{ STORE_POS; return RC;}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 185 "ael.flex"
+#line 187 "ael.flex"
{ STORE_POS; return LP;}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 186 "ael.flex"
+#line 188 "ael.flex"
{ STORE_POS; return RP;}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 187 "ael.flex"
+#line 189 "ael.flex"
{ STORE_POS; return SEMI;}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 188 "ael.flex"
+#line 190 "ael.flex"
{ STORE_POS; return EQ;}
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 189 "ael.flex"
+#line 191 "ael.flex"
{ STORE_POS; return COMMA;}
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 190 "ael.flex"
+#line 192 "ael.flex"
{ STORE_POS; return COLON;}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 191 "ael.flex"
+#line 193 "ael.flex"
{ STORE_POS; return AMPER;}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 192 "ael.flex"
+#line 194 "ael.flex"
{ STORE_POS; return BAR;}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 193 "ael.flex"
+#line 195 "ael.flex"
{ STORE_POS; return EXTENMARK;}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 194 "ael.flex"
+#line 196 "ael.flex"
{ STORE_POS; return AT;}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 195 "ael.flex"
+#line 197 "ael.flex"
{/*comment*/}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 196 "ael.flex"
+#line 198 "ael.flex"
{ STORE_POS; return KW_CONTEXT;}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 197 "ael.flex"
+#line 199 "ael.flex"
{ STORE_POS; return KW_ABSTRACT;}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 198 "ael.flex"
+#line 200 "ael.flex"
{ STORE_POS; return KW_EXTEND;}
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 199 "ael.flex"
+#line 201 "ael.flex"
{ STORE_POS; return KW_MACRO;};
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 200 "ael.flex"
+#line 202 "ael.flex"
{ STORE_POS; return KW_GLOBALS;}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 201 "ael.flex"
+#line 203 "ael.flex"
{ STORE_POS; return KW_LOCAL;}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 202 "ael.flex"
+#line 204 "ael.flex"
{ STORE_POS; return KW_IGNOREPAT;}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 203 "ael.flex"
+#line 205 "ael.flex"
{ STORE_POS; return KW_SWITCH;}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 204 "ael.flex"
+#line 206 "ael.flex"
{ STORE_POS; return KW_IF;}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 205 "ael.flex"
+#line 207 "ael.flex"
{ STORE_POS; return KW_IFTIME;}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 206 "ael.flex"
+#line 208 "ael.flex"
{ STORE_POS; return KW_RANDOM;}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 207 "ael.flex"
+#line 209 "ael.flex"
{ STORE_POS; return KW_REGEXTEN;}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 208 "ael.flex"
+#line 210 "ael.flex"
{ STORE_POS; return KW_HINT;}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 209 "ael.flex"
+#line 211 "ael.flex"
{ STORE_POS; return KW_ELSE;}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 210 "ael.flex"
+#line 212 "ael.flex"
{ STORE_POS; return KW_GOTO;}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 211 "ael.flex"
+#line 213 "ael.flex"
{ STORE_POS; return KW_JUMP;}
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 212 "ael.flex"
+#line 214 "ael.flex"
{ STORE_POS; return KW_RETURN;}
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 213 "ael.flex"
+#line 215 "ael.flex"
{ STORE_POS; return KW_BREAK;}
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 214 "ael.flex"
+#line 216 "ael.flex"
{ STORE_POS; return KW_CONTINUE;}
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 215 "ael.flex"
+#line 217 "ael.flex"
{ STORE_POS; return KW_FOR;}
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 216 "ael.flex"
+#line 218 "ael.flex"
{ STORE_POS; return KW_WHILE;}
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 217 "ael.flex"
+#line 219 "ael.flex"
{ STORE_POS; return KW_CASE;}
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 218 "ael.flex"
+#line 220 "ael.flex"
{ STORE_POS; return KW_DEFAULT;}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 219 "ael.flex"
+#line 221 "ael.flex"
{ STORE_POS; return KW_PATTERN;}
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 220 "ael.flex"
+#line 222 "ael.flex"
{ STORE_POS; return KW_CATCH;}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 221 "ael.flex"
+#line 223 "ael.flex"
{ STORE_POS; return KW_SWITCHES;}
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 222 "ael.flex"
+#line 224 "ael.flex"
{ STORE_POS; return KW_ESWITCHES;}
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 223 "ael.flex"
+#line 225 "ael.flex"
{ STORE_POS; return KW_INCLUDES;}
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 224 "ael.flex"
+#line 226 "ael.flex"
{ BEGIN(comment); my_col += 2; }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 226 "ael.flex"
+#line 228 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 44:
/* rule 44 can match eol */
YY_RULE_SETUP
-#line 227 "ael.flex"
+#line 229 "ael.flex"
{ ++my_lineno; my_col=1;}
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 228 "ael.flex"
+#line 230 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 46:
/* rule 46 can match eol */
YY_RULE_SETUP
-#line 229 "ael.flex"
+#line 231 "ael.flex"
{ ++my_lineno; my_col=1;}
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 230 "ael.flex"
+#line 232 "ael.flex"
{ my_col += 2; BEGIN(INITIAL); }
YY_BREAK
case 48:
/* rule 48 can match eol */
YY_RULE_SETUP
-#line 232 "ael.flex"
+#line 234 "ael.flex"
{ my_lineno++; my_col = 1; }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 233 "ael.flex"
+#line 235 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 234 "ael.flex"
+#line 236 "ael.flex"
{ my_col += (yyleng*8)-(my_col%8); }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 236 "ael.flex"
+#line 238 "ael.flex"
{
STORE_POS;
yylval->str = strdup(yytext);
@@ -1498,7 +1508,7 @@ YY_RULE_SETUP
case 52:
/* rule 52 can match eol */
YY_RULE_SETUP
-#line 252 "ael.flex"
+#line 254 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
@@ -1524,7 +1534,7 @@ YY_RULE_SETUP
case 53:
/* rule 53 can match eol */
YY_RULE_SETUP
-#line 274 "ael.flex"
+#line 276 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
@@ -1536,7 +1546,7 @@ YY_RULE_SETUP
case 54:
/* rule 54 can match eol */
YY_RULE_SETUP
-#line 282 "ael.flex"
+#line 284 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c)) { /* error */
@@ -1561,7 +1571,7 @@ YY_RULE_SETUP
case 55:
/* rule 55 can match eol */
YY_RULE_SETUP
-#line 304 "ael.flex"
+#line 306 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
@@ -1573,7 +1583,7 @@ YY_RULE_SETUP
case 56:
/* rule 56 can match eol */
YY_RULE_SETUP
-#line 312 "ael.flex"
+#line 314 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
@@ -1601,7 +1611,7 @@ YY_RULE_SETUP
case 57:
/* rule 57 can match eol */
YY_RULE_SETUP
-#line 336 "ael.flex"
+#line 338 "ael.flex"
{
if( parencount != 0) { /* printf("Folding in a comma!\n"); */
yymore();
@@ -1619,7 +1629,7 @@ YY_RULE_SETUP
case 58:
/* rule 58 can match eol */
YY_RULE_SETUP
-#line 350 "ael.flex"
+#line 352 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
@@ -1640,7 +1650,7 @@ YY_RULE_SETUP
case 59:
/* rule 59 can match eol */
YY_RULE_SETUP
-#line 367 "ael.flex"
+#line 369 "ael.flex"
{
char c = yytext[yyleng-1];
yymore();
@@ -1650,7 +1660,7 @@ YY_RULE_SETUP
case 60:
/* rule 60 can match eol */
YY_RULE_SETUP
-#line 373 "ael.flex"
+#line 375 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
@@ -1666,7 +1676,7 @@ YY_RULE_SETUP
case 61:
/* rule 61 can match eol */
YY_RULE_SETUP
-#line 385 "ael.flex"
+#line 387 "ael.flex"
{
STORE_LOC;
yylval->str = strdup(yytext);
@@ -1679,7 +1689,7 @@ YY_RULE_SETUP
case 62:
/* rule 62 can match eol */
YY_RULE_SETUP
-#line 394 "ael.flex"
+#line 396 "ael.flex"
{
char fnamebuf[1024],*p1,*p2;
int glob_ret;
@@ -1729,7 +1739,7 @@ case YY_STATE_EOF(paren):
case YY_STATE_EOF(semic):
case YY_STATE_EOF(argg):
case YY_STATE_EOF(comment):
-#line 439 "ael.flex"
+#line 441 "ael.flex"
{
char fnamebuf[2048];
if (include_stack_index > 0 && include_stack[include_stack_index-1].globbuf_pos < include_stack[include_stack_index-1].globbuf.gl_pathc-1) {
@@ -1766,10 +1776,10 @@ case YY_STATE_EOF(comment):
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 473 "ael.flex"
+#line 475 "ael.flex"
ECHO;
YY_BREAK
-#line 1772 "ael_lex.c"
+#line 1782 "ael_lex.c"
case YY_END_OF_BUFFER:
{
@@ -2071,7 +2081,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
{
register int yy_is_jam;
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
register char *yy_cp = yyg->yy_c_buf_p;
register YY_CHAR yy_c = 1;
@@ -2520,10 +2530,10 @@ YY_BUFFER_STATE ael_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yys
* @note If you want to scan bytes that may contain NUL values, then use
* ael_yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yy_str , yyscan_t yyscanner)
+YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
{
- return ael_yy_scan_bytes(yy_str,strlen(yy_str) ,yyscanner);
+ return ael_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner);
}
/** Setup the input buffer state to scan the given bytes. The next call to ael_yylex() will
@@ -2533,7 +2543,7 @@ YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yy_str , yyscan_t yyscanner)
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE ael_yy_scan_bytes (yyconst char * bytes, int len , yyscan_t yyscanner)
+YY_BUFFER_STATE ael_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
char *buf;
@@ -2541,15 +2551,15 @@ YY_BUFFER_STATE ael_yy_scan_bytes (yyconst char * bytes, int len , yyscan_t yy
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
- n = len + 2;
+ n = _yybytes_len + 2;
buf = (char *) ael_yyalloc(n ,yyscanner );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in ael_yy_scan_bytes()" );
- for ( i = 0; i < len; ++i )
- buf[i] = bytes[i];
+ for ( i = 0; i < _yybytes_len; ++i )
+ buf[i] = yybytes[i];
- buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+ buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
b = ael_yy_scan_buffer(buf,n ,yyscanner);
if ( ! b )
@@ -2760,21 +2770,51 @@ void ael_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
yylloc = yylloc_param;
}
+/* User-visible API */
+
+/* ael_yylex_init is special because it creates the scanner itself, so it is
+ * the ONLY reentrant function that doesn't take the scanner as the last argument.
+ * That's why we explicitly handle the declaration, instead of using our macros.
+ */
+
+int ael_yylex_init(yyscan_t* ptr_yy_globals)
+
+{
+ if (ptr_yy_globals == NULL){
+ errno = EINVAL;
+ return 1;
+ }
+
+ *ptr_yy_globals = (yyscan_t) ael_yyalloc ( sizeof( struct yyguts_t ), NULL );
+
+ if (*ptr_yy_globals == NULL){
+ errno = ENOMEM;
+ return 1;
+ }
+
+ /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
+ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
+
+ return yy_init_globals ( *ptr_yy_globals );
+}
+
static int yy_init_globals (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
/* Initialization is the same as for the non-reentrant scanner.
- This function is called once per scanner lifetime. */
+ * This function is called from ael_yylex_destroy(), so don't allocate here.
+ */
yyg->yy_buffer_stack = 0;
yyg->yy_buffer_stack_top = 0;
yyg->yy_buffer_stack_max = 0;
yyg->yy_c_buf_p = (char *) 0;
- yyg->yy_init = 1;
+ yyg->yy_init = 0;
yyg->yy_start = 0;
+
yyg->yy_start_stack_ptr = 0;
yyg->yy_start_stack_depth = 0;
- yyg->yy_start_stack = (int *) 0;
+ yyg->yy_start_stack = NULL;
/* Defined in main.c */
#ifdef YY_STDINIT
@@ -2791,33 +2831,6 @@ static int yy_init_globals (yyscan_t yyscanner)
return 0;
}
-/* User-visible API */
-
-/* ael_yylex_init is special because it creates the scanner itself, so it is
- * the ONLY reentrant function that doesn't take the scanner as the last argument.
- * That's why we explicitly handle the declaration, instead of using our macros.
- */
-
-int ael_yylex_init(yyscan_t* ptr_yy_globals)
-
-{
- if (ptr_yy_globals == NULL){
- errno = EINVAL;
- return 1;
- }
-
- *ptr_yy_globals = (yyscan_t) ael_yyalloc ( sizeof( struct yyguts_t ), NULL );
-
- if (*ptr_yy_globals == NULL){
- errno = ENOMEM;
- return 1;
- }
-
- memset(*ptr_yy_globals,0,sizeof(struct yyguts_t));
-
- return yy_init_globals ( *ptr_yy_globals );
-}
-
/* ael_yylex_destroy is for both reentrant and non-reentrant scanners. */
int ael_yylex_destroy (yyscan_t yyscanner)
{
@@ -2838,8 +2851,13 @@ int ael_yylex_destroy (yyscan_t yyscanner)
ael_yyfree(yyg->yy_start_stack ,yyscanner );
yyg->yy_start_stack = NULL;
+ /* Reset the globals. This is important in a non-reentrant scanner so the next time
+ * ael_yylex() is called, initialization will occur. */
+ yy_init_globals( yyscanner);
+
/* Destroy the main struct (reentrant only). */
ael_yyfree ( yyscanner , yyscanner );
+ yyscanner = NULL;
return 0;
}
@@ -2851,7 +2869,6 @@ int ael_yylex_destroy (yyscan_t yyscanner)
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
{
register int i;
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
@@ -2861,7 +2878,6 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca
static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
{
register int n;
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
for ( n = 0; s[n]; ++n )
;
@@ -2893,19 +2909,7 @@ void ael_yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#undef YY_NEW_FILE
-#undef YY_FLUSH_BUFFER
-#undef yy_set_bol
-#undef yy_new_buffer
-#undef yy_set_interactive
-#undef yytext_ptr
-#undef YY_DO_BEFORE_ACTION
-
-#ifdef YY_DECL_IS_OURS
-#undef YY_DECL_IS_OURS
-#undef YY_DECL
-#endif
-#line 473 "ael.flex"
+#line 475 "ael.flex"