[asterisk-commits] murf: trunk r80649 - in /trunk: pbx/ael/ael-test/ res/ael/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Aug 23 18:37:33 CDT 2007


Author: murf
Date: Thu Aug 23 18:37:33 2007
New Revision: 80649

URL: http://svn.digium.com/view/asterisk?view=rev&rev=80649
Log:
an unreported crash I debugged, looked like it was backing up way too far after hitting the syntax error. An inspection of the code revealed that error tokens in lists were not rearranged when the rules were rearranged as part of a code neatening-up process. By moving the error tokens to where they should be, I also reduced the number of shift/reduce conflicts to 3 instead of 8. This introduces subtle differences in error messages, so the regressions had to be updated.

Modified:
    trunk/pbx/ael/ael-test/ref.ael-ntest10
    trunk/pbx/ael/ael-test/ref.ael-test6
    trunk/pbx/ael/ael-test/ref.ael-test7
    trunk/res/ael/ael.tab.c
    trunk/res/ael/ael.tab.h
    trunk/res/ael/ael.y

Modified: trunk/pbx/ael/ael-test/ref.ael-ntest10
URL: http://svn.digium.com/view/asterisk/trunk/pbx/ael/ael-test/ref.ael-ntest10?view=diff&rev=80649&r1=80648&r2=80649
==============================================================================
--- trunk/pbx/ael/ael-test/ref.ael-ntest10 (original)
+++ trunk/pbx/ael/ael-test/ref.ael-ntest10 Thu Aug 23 18:37:33 2007
@@ -8,32 +8,23 @@
 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:668 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:668 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:668 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:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 13-13: A default case was automatically added to the switch.
-LOG: lev:3 file:extconf.c  line:3959 func: add_pri  Unable to register extension '_', priority 1 in 'test6', already in use
-LOG: lev:3 file:extconf.c  line:3959 func: add_pri  Unable to register extension '_X.', priority 1 in 'test6', already in use
-=== Loading extensions.conf ===
-Context: test6
-Context: test5
-Context: macro-funcA
-Context: macro-funcB
-Context: macro-funcC
-=========
-LOG: lev:3 file:pval.c  line:668 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:2280 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:668 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:2280 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:2280 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:668 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:2280 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:2280 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:2280 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:668 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:2280 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:2280 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:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 122-122: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:669 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:669 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:669 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:2281 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:669 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:2281 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:669 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:2281 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:2281 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:669 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:2281 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:2281 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:2281 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:669 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:2281 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:2281 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:2281 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:1698 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);
@@ -168,4 +159,4 @@
 LOG: lev:2 file:pbx_ael.c  line:1703 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:1706 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:521 func: main  7 contexts, 27 extensions, 121 priorities
+LOG: lev:4 file:ael2_parse  line:523 func: main  7 contexts, 27 extensions, 121 priorities

Modified: trunk/pbx/ael/ael-test/ref.ael-test6
URL: http://svn.digium.com/view/asterisk/trunk/pbx/ael/ael-test/ref.ael-test6?view=diff&rev=80649&r1=80648&r2=80649
==============================================================================
--- trunk/pbx/ael/ael-test/ref.ael-test6 (original)
+++ trunk/pbx/ael/ael-test/ref.ael-test6 Thu Aug 23 18:37:33 2007
@@ -6,19 +6,20 @@
 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.y  line:764 func: ael_yyerror  ==== File: ./extensions.ael, Line 169, Cols: 24-24: Error: syntax error, unexpected '&'
+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 226, Cols: 16-16: Error: syntax error, unexpected '&'
 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:668 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:668 func: check_macro_returns  Warning: file ./extensions.ael, line 129-168: The macro stdexten does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c  line:668 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:668 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:668 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:668 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:668 func: check_macro_returns  Warning: file ./extensions.ael, line 218-225: The macro checkcfb does not end with a return; I will insert one.
-LOG: lev:3 file:pval.c  line:668 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: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:521 func: main  0 contexts, 0 extensions, 0 priorities
+LOG: lev:4 file:ael2_parse  line:523 func: main  0 contexts, 0 extensions, 0 priorities

Modified: trunk/pbx/ael/ael-test/ref.ael-test7
URL: http://svn.digium.com/view/asterisk/trunk/pbx/ael/ael-test/ref.ael-test7?view=diff&rev=80649&r1=80648&r2=80649
==============================================================================
--- trunk/pbx/ael/ael-test/ref.ael-test7 (original)
+++ trunk/pbx/ael/ael-test/ref.ael-test7 Thu Aug 23 18:37:33 2007
@@ -5,25 +5,16 @@
 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:668 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:668 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:668 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:extconf.c  line:3959 func: add_pri  Unable to register extension '_', priority 1 in 'test6', already in use
-LOG: lev:3 file:extconf.c  line:3959 func: add_pri  Unable to register extension '_X.', priority 1 in 'test6', already in use
-=== Loading extensions.conf ===
-Context: test6
-Context: test5
-Context: macro-funcA
-Context: macro-funcB
-Context: macro-funcC
-=========
-LOG: lev:3 file:pval.c  line:668 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:2464 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:668 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:2464 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:668 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:2464 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:2464 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:2422 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: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:521 func: main  0 contexts, 0 extensions, 0 priorities
+LOG: lev:4 file:ael2_parse  line:523 func: main  0 contexts, 0 extensions, 0 priorities

Modified: trunk/res/ael/ael.tab.c
URL: http://svn.digium.com/view/asterisk/trunk/res/ael/ael.tab.c?view=diff&rev=80649&r1=80648&r2=80649
==============================================================================
--- trunk/res/ael/ael.tab.c (original)
+++ trunk/res/ael/ael.tab.c Thu Aug 23 18:37:33 2007
@@ -1,9 +1,7 @@
-/* A Bison parser, made by GNU Bison 2.3.  */
-
-/* Skeleton implementation for Bison's Yacc-like parsers in C
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
+/* A Bison parser, made by GNU Bison 2.1a.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,18 +18,10 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.  */
 
-/* As a special exception, you may create a larger work that contains
-   part or all of the Bison parser skeleton and distribute that work
-   under terms of your choice, so long as that work isn't itself a
-   parser generator using the skeleton or a modified version thereof
-   as a parser skeleton.  Alternatively, if you modify or redistribute
-   the parser skeleton itself, you may (at your option) remove this
-   special exception, which will cause the skeleton and the resulting
-   Bison output files to be licensed under the GNU General Public
-   License without this special exception.
-
-   This special exception was added by the Free Software Foundation in
-   version 2.2 of Bison.  */
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
 
 /* C LALR(1) parser skeleton written by Richard Stallman, by
    simplifying the original so-called "semantic" parser.  */
@@ -47,7 +37,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.1a"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -241,8 +231,8 @@
 	char	*str;		/* strings */
 	struct pval *pval;	/* full objects */
 }
-/* Line 187 of yacc.c.  */
-#line 246 "ael.tab.c"
+/* Line 198 of yacc.c.  */
+#line 236 "ael.tab.c"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -286,8 +276,8 @@
 static pval *update_last(pval *, YYLTYPE *);
 
 
-/* Line 216 of yacc.c.  */
-#line 291 "ael.tab.c"
+/* Line 221 of yacc.c.  */
+#line 281 "ael.tab.c"
 
 #ifdef short
 # undef short
@@ -417,13 +407,8 @@
 #  ifndef YYSTACK_ALLOC_MAXIMUM
 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
 #  endif
-#  if (defined __cplusplus && ! defined _STDLIB_H \
-       && ! ((defined YYMALLOC || defined malloc) \
-	     && (defined YYFREE || defined free)))
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   ifndef _STDLIB_H
-#    define _STDLIB_H 1
-#   endif
+#  ifdef __cplusplus
+extern "C" {
 #  endif
 #  ifndef YYMALLOC
 #   define YYMALLOC malloc
@@ -438,6 +423,9 @@
      || defined __cplusplus || defined _MSC_VER)
 void free (void *); /* INFRINGES ON USER NAME SPACE */
 #   endif
+#  endif
+#  ifdef __cplusplus
+}
 #  endif
 # endif
 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
@@ -504,7 +492,7 @@
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  14
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   300
+#define YYLAST   315
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  43
@@ -513,7 +501,7 @@
 /* YYNRULES -- Number of rules.  */
 #define YYNRULES  137
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  275
+#define YYNSTATES  279
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -586,16 +574,16 @@
       -1,    42,    -1,    36,    -1,    49,     3,    47,     4,    58,
        5,    -1,    23,    -1,    -1,    15,    42,     6,    57,     7,
        4,    91,     5,    -1,    16,     4,    52,     5,    -1,    -1,
-      53,    52,    -1,    52,     1,    -1,    -1,    42,     9,    54,
+      53,    52,    -1,     1,    52,    -1,    -1,    42,     9,    54,
       42,     8,    -1,    -1,    41,    42,     9,    56,    42,     8,
       -1,    -1,    42,    -1,    57,    10,    42,    -1,    57,     1,
-      -1,    -1,    59,    58,    -1,    58,     1,    -1,    61,    -1,
+      -1,    -1,    59,    58,    -1,     1,    58,    -1,    61,    -1,
       98,    -1,    93,    -1,    94,    -1,    60,    -1,    53,    -1,
       55,    -1,    42,     1,    -1,     8,    -1,    17,    24,    42,
        8,    -1,    42,    24,    73,    -1,    30,    42,    24,    73,
       -1,    31,     6,    69,     7,    42,    24,    73,    -1,    30,
       31,     6,    69,     7,    42,    24,    73,    -1,    -1,    73,
-      62,    -1,    62,     1,    -1,    70,    11,    70,    11,    70,
+      62,    -1,     1,    62,    -1,    70,    11,    70,    11,    70,
       -1,    42,    -1,    63,    13,    70,    13,    70,    13,    70,
       -1,    -1,     6,    66,    68,     7,    -1,    19,    65,    -1,
       22,    65,    -1,    20,     6,    64,     7,    -1,    42,    -1,
@@ -623,7 +611,7 @@
       -1,    92,    91,    -1,    73,    -1,    98,    -1,    37,    42,
        4,    62,     5,    -1,    38,     4,    95,     5,    -1,    39,
        4,    95,     5,    -1,    -1,    42,     8,    95,    -1,    42,
-      14,    42,     8,    95,    -1,    95,     1,    -1,    47,    -1,
+      14,    42,     8,    95,    -1,     1,    95,    -1,    47,    -1,
       47,    13,    64,    -1,    96,     8,    -1,    97,    96,     8,
       -1,    97,     1,    -1,    40,     4,    97,     5,    -1,    40,
        4,     5,    -1
@@ -732,165 +720,167 @@
 static const yytype_uint8 yydefact[] =
 {
       14,     9,     0,     0,    13,     0,     0,     3,     6,     0,
-       7,     8,     0,    17,     1,     5,     4,     0,    24,     0,
-       0,    17,    11,    10,     0,    25,     0,    20,    19,    16,
-       0,    28,    27,     0,     0,     0,    39,     0,     0,     0,
-       0,     0,     0,     0,     0,    36,    37,     0,    28,    35,
-      31,    33,    34,    32,   120,    26,     0,     0,     0,     0,
-       0,   127,   127,     0,     0,    38,     0,    30,    12,     0,
-      45,    89,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    69,    70,     0,    79,
-     122,   113,     0,     0,   120,   123,    21,     0,     0,     0,
-      58,     0,     0,     0,     0,   137,   131,     0,     0,    22,
-      41,     0,    45,     0,     0,    51,     0,    53,     0,    54,
-       0,    64,    92,     0,    99,     0,    86,    85,    87,    74,
-       0,     0,   106,    82,    73,    91,   109,    56,   112,     0,
-      81,    83,    15,   121,    40,     0,    42,     0,     0,    59,
-     127,     0,   130,   125,   126,     0,   133,   135,   136,     0,
-       0,    47,    68,     0,   103,    80,     0,   115,    49,     0,
-       0,     0,     0,     0,    65,     0,     0,     0,    71,     0,
-     101,    72,     0,    78,    45,   107,     0,    88,    57,   108,
-     111,     0,     0,     0,    60,     0,     0,   132,   134,     0,
-     105,   113,     0,     0,     0,     0,     0,   115,    62,     0,
-      55,     0,     0,     0,    94,    66,    93,   100,     0,     0,
-       0,    90,   110,   114,     0,     0,     0,   127,    23,     0,
-      52,     0,     0,    45,    67,   116,    63,    61,     0,     0,
-       0,     0,     0,     0,   102,    75,   124,    84,     0,    43,
-       0,   104,    45,    45,     0,     0,     0,    98,    97,    96,
-      95,     0,    44,     0,     0,     0,    48,     0,     0,    76,
-      50,     0,     0,     0,    77
+       7,     8,     0,     0,     1,     5,     4,     0,    24,     0,
+       0,     0,     0,    11,    10,     0,    25,     0,    19,    20,
+      16,    18,     0,    27,     0,     0,     0,     0,    39,     0,
+       0,     0,     0,     0,     0,     0,     0,    36,    37,     0,
+       0,    35,    31,    33,    34,    32,   120,    26,     0,    30,
+       0,     0,     0,     0,     0,     0,     0,     0,    38,     0,
+      12,    29,     0,    89,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    69,    70,
+       0,    79,   122,   113,     0,     0,   120,   123,    21,     0,
+       0,     0,    58,     0,     0,     0,     0,     0,   137,   131,
+       0,     0,    22,    41,     0,     0,     0,     0,     0,    51,
+       0,    53,     0,    54,     0,    64,    92,     0,    99,     0,
+      86,    85,    87,    74,     0,     0,   106,    82,    73,    91,
+     109,    56,   112,     0,    81,    83,    15,   121,    40,     0,
+      42,     0,     0,    59,   130,     0,     0,   125,   126,     0,
+     133,   135,   136,     0,     0,    47,    68,    46,   103,    80,
+       0,   115,    49,     0,     0,     0,     0,     0,    65,     0,
+       0,     0,    71,     0,   101,    72,     0,    78,     0,   107,
+       0,    88,    57,   108,   111,     0,     0,     0,    60,   128,
+       0,   132,   134,     0,   105,   113,     0,     0,     0,     0,
+       0,   115,    62,     0,    55,     0,     0,     0,    94,    66,
+      93,   100,     0,     0,     0,    90,   110,   114,     0,     0,
+       0,     0,    23,     0,    52,     0,     0,     0,    67,   116,
+      63,    61,     0,     0,     0,     0,     0,     0,   102,    75,
+     124,    84,     0,    43,   129,   104,     0,     0,   118,     0,
+       0,    98,    97,    96,    95,     0,    44,   117,   119,     0,
+      48,     0,     0,    76,    50,     0,     0,     0,    77
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     5,     6,     7,   106,     8,     9,    10,    11,    20,
-      86,    35,    87,   160,    26,    47,    48,    49,    50,   111,
-     169,   170,   116,   166,    88,   138,   101,   171,   122,    89,
-     112,   182,   261,   271,   191,   187,   123,   180,   125,   114,
-     201,    91,   185,    92,   223,   139,   206,   207,    93,    94,
-      51,    52,   103,   107,   108,    53
+      -1,     5,     6,     7,   109,     8,     9,    10,    11,    21,
+      88,    36,    89,   164,    27,    49,    50,    51,    52,   115,
+     173,   174,   120,   170,    90,   142,   103,   175,   126,    91,
+     116,   186,   265,   275,   195,   191,   127,   184,   129,   118,
+     205,    93,   189,    94,   227,   143,   210,   211,    95,    96,
+      53,    54,   106,   110,   111,    55
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -206
+#define YYPACT_NINF -208
 static const yytype_int16 yypact[] =
 {
-     139,  -206,    -4,    42,  -206,    56,   170,  -206,  -206,    66,
-    -206,  -206,   137,    46,  -206,  -206,  -206,    -6,    60,    65,
-      17,    46,  -206,  -206,   107,  -206,    14,  -206,  -206,  -206,
-      34,   119,  -206,   159,   127,   133,  -206,   166,   -14,   191,
-     197,   208,   209,   172,   111,  -206,  -206,    82,   119,  -206,
-    -206,  -206,  -206,  -206,    53,  -206,   207,   174,   211,   194,
-     180,   181,   181,     5,   212,  -206,    96,  -206,  -206,   102,
-      96,  -206,   183,   214,   214,   218,   214,    28,   184,   219,
-     220,   221,   224,   214,   190,   168,  -206,  -206,    96,  -206,
-    -206,    13,   173,   226,    53,  -206,  -206,   225,   180,    96,
-    -206,    20,    84,   104,   112,  -206,   222,   228,     6,  -206,
-    -206,   129,    96,   231,   230,  -206,   235,  -206,   192,  -206,
-     143,   199,   178,   232,   196,   234,  -206,  -206,  -206,  -206,
-      96,   239,  -206,  -206,  -206,   223,  -206,   203,  -206,   185,
-    -206,  -206,  -206,  -206,  -206,    77,  -206,   204,   205,  -206,
-     181,   206,  -206,  -206,  -206,   192,  -206,  -206,  -206,   241,
-     210,  -206,  -206,    18,   243,  -206,   213,   169,     2,   238,
-     246,   245,   184,   184,  -206,   184,   215,   184,  -206,   216,
-     240,  -206,   217,  -206,    96,  -206,    96,  -206,  -206,  -206,
-     227,   229,   233,   236,  -206,   147,   253,  -206,  -206,   254,
-    -206,   213,   256,   237,   242,   255,   259,   169,   244,   247,
-    -206,   247,   198,   120,   200,  -206,   187,  -206,    -6,   257,
-     179,  -206,  -206,  -206,   260,   248,    96,   181,  -206,   189,
-    -206,   262,   263,    96,  -206,  -206,  -206,   249,   264,   265,
-     184,   184,   184,   184,  -206,  -206,  -206,  -206,    96,  -206,
-     182,  -206,    96,    96,    24,   247,   247,   267,   267,   267,
-     267,   250,  -206,    32,   105,   268,  -206,   272,   247,  -206,
-    -206,   251,   275,    96,  -206
+      16,  -208,   -26,    31,  -208,    44,   104,  -208,  -208,    43,
+    -208,  -208,    64,     9,  -208,  -208,  -208,    74,    42,     9,
+      83,    97,     9,  -208,  -208,   109,  -208,    90,  -208,  -208,
+    -208,  -208,   148,  -208,   121,   102,   106,   148,  -208,   126,
+      33,   158,   178,   191,   193,   112,    84,  -208,  -208,   171,
+     148,  -208,  -208,  -208,  -208,  -208,   190,  -208,   177,  -208,
+     151,   195,   179,   162,    14,    14,    25,   196,  -208,   216,
+    -208,  -208,   110,  -208,   165,   205,   205,   207,   205,    81,
+     183,   206,   218,   221,   227,   205,   197,   149,  -208,  -208,
+     216,  -208,  -208,     5,   172,   232,   190,  -208,  -208,   238,
+     162,   216,  -208,    15,    14,   133,   235,   242,  -208,   237,
+     243,     6,  -208,  -208,    54,   247,    54,   248,   245,  -208,
+     251,  -208,   214,  -208,     8,   217,    58,   252,   173,   253,
+    -208,  -208,  -208,  -208,   216,   258,  -208,  -208,  -208,   244,
+    -208,   222,  -208,    99,  -208,  -208,  -208,  -208,  -208,    21,
+    -208,   224,   225,  -208,  -208,    14,   226,  -208,  -208,   214,
+    -208,  -208,  -208,   255,   228,  -208,  -208,  -208,   262,  -208,
+     229,   137,    18,   259,   266,   263,   183,   183,  -208,   183,
+     233,   183,  -208,   234,   264,  -208,   239,  -208,   110,  -208,
+     216,  -208,  -208,  -208,   240,   241,   246,   256,  -208,  -208,
+     269,  -208,  -208,   271,  -208,   229,   277,   249,   250,   274,
+     281,   137,   254,   257,  -208,   257,   181,   150,   189,  -208,
+     164,  -208,    74,   279,   284,  -208,  -208,  -208,   282,   270,
+     216,    14,  -208,   114,  -208,   286,   287,    54,  -208,  -208,
+    -208,   260,   280,   289,   183,   183,   183,   183,  -208,  -208,
+    -208,  -208,   216,  -208,  -208,  -208,    54,    54,  -208,   257,
+     257,   290,   290,   290,   290,   261,  -208,  -208,  -208,   291,
+    -208,   297,   257,  -208,  -208,   265,   288,   216,  -208
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -206,  -206,  -206,   261,   -16,  -206,  -206,  -206,  -206,   266,
-      -5,  -206,   -17,  -206,  -206,   252,  -206,  -206,  -206,  -107,
-    -206,   115,    68,  -206,  -206,   117,   201,  -205,   -76,  -206,
-     -54,  -206,  -206,  -206,  -206,  -206,  -206,  -206,  -206,  -206,
-    -206,  -206,  -206,  -206,  -206,    87,    78,  -206,   202,  -206,
-    -206,  -206,   -59,   186,  -206,   -45
+    -208,  -208,  -208,   300,   -16,  -208,  -208,  -208,  -208,   140,
+       4,  -208,   -12,  -208,  -208,     0,  -208,  -208,  -208,  -111,
+    -208,   152,    55,  -208,  -208,   138,   209,  -207,   -78,  -208,
+     -56,  -208,  -208,  -208,  -208,  -208,  -208,  -208,  -208,  -208,
+    -208,  -208,  -208,  -208,  -208,   105,   101,  -208,   219,  -208,
+    -208,  -208,   -61,   202,  -208,   -47
 };
 
 /* 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 -130
+#define YYTABLE_NINF -128
 static const yytype_int16 yytable[] =
 {
-      90,    24,   124,   104,   238,   163,   239,   157,    21,    95,
-     105,   158,   110,   -61,    46,    32,    21,    58,    28,   161,
-     136,    33,    29,   -46,    34,   161,    45,   147,    59,  -118,
-      22,    46,   148,   161,   135,    28,    23,  -117,    12,   -18,
-      90,    22,    22,    45,   208,   146,    13,    23,    23,    95,
-     265,   266,   -46,   -46,   -46,   137,    14,    70,  -118,  -118,
-    -118,    71,   149,   270,   120,    72,  -117,  -117,  -117,    17,
-     121,    73,    74,    75,    27,    76,   183,   220,    77,    78,
-      79,    80,    81,    67,   192,    82,    83,    68,    19,   148,
-      84,   195,   150,    42,    43,    85,   212,   213,   151,   214,
-      70,   216,    25,    67,    71,   152,   161,   -29,    72,   153,
-    -119,    31,    65,   152,    73,    74,    75,   154,    76,   149,
-      27,    77,    78,    79,    80,    81,   254,    36,    82,    83,
-     161,   176,   221,   241,   162,    66,    37,    43,    85,  -119,
-    -119,  -119,   117,    18,   119,   263,   264,     1,   152,    38,
-      39,   130,  -128,   172,     2,     3,   173,    40,    41,    42,
-      43,    44,     4,    54,   257,   258,   259,   260,   250,    55,
-      -2,    15,   249,   -14,   132,    56,   133,    27,     1,   134,
-     161,   140,   141,   152,   246,     2,     3,  -129,   175,   176,
-      57,   177,   189,     4,   262,   190,   251,    60,   176,   190,
-     243,    61,   244,   203,   204,   205,   179,   176,   240,   176,
-     242,   176,    62,    63,    64,    96,    97,    98,    99,   274,
-     115,   109,   100,   102,   118,   113,   121,   126,   127,   128,
-     129,   142,   131,   144,   168,   155,   156,   164,   165,   167,
-     178,   174,   181,   184,   186,   188,   193,   194,   196,   198,
-     200,   209,   199,   210,   218,   137,   211,   215,   217,   219,
-     226,   227,   228,   230,   234,   245,   233,    16,   247,   222,
-     197,   224,   248,   252,   253,   225,   256,   255,   176,   231,
-     269,   268,   273,   202,   232,   235,   236,    30,   229,   237,
-       0,   208,   267,   272,   159,     0,   143,     0,     0,   145,
-      69
+      92,    25,   128,   165,   107,   167,   242,   161,   243,    97,
+      19,   162,   140,   113,   -17,   104,    12,    22,   176,  -127,
+      48,   177,   151,    22,     1,    48,    22,   152,   196,   -61,
+     108,     2,     3,   152,   139,    13,    47,    59,    48,     4,
+      92,    47,    23,   154,    14,   150,    17,   141,    24,    97,
+      71,    20,   269,   270,    47,   114,   105,   153,    72,   -45,
+     212,    23,    73,   153,    61,   274,    74,    24,   179,   180,
+      18,   181,    75,    76,    77,    62,    78,   224,   187,    79,
+      80,    81,    82,    83,    26,    68,    84,    85,   -45,   -45,
+     -45,    33,    29,    29,   199,    45,    87,    34,   216,   217,
+      35,   218,    30,   220,    -2,    15,   193,   -14,    69,   194,
+      23,   114,     1,    32,    72,   -45,    24,   124,    73,     2,
+       3,   255,    74,   125,   194,    56,   258,     4,    75,    76,
+      77,   121,    78,   123,   225,    79,    80,    81,    82,    83,
+     134,   155,    84,    85,    57,   267,   268,   156,    58,    37,
+      60,    45,    87,   -28,    67,   136,    38,   137,    29,    28,
+     138,   180,    31,   245,    63,    39,   261,   262,   263,   264,
+     254,   207,   208,   209,   253,   180,    70,   247,    40,    41,
+     144,   145,    64,   183,   180,    98,    42,    43,    44,    45,
+      46,   244,   180,    99,    72,    65,   266,    66,    73,   246,
+     180,   100,    74,   101,   102,   112,   248,   117,    75,    76,
+      77,   119,    78,   122,   130,    79,    80,    81,    82,    83,
+      72,   278,    84,    85,    73,   125,   131,    86,    74,   132,
+      44,    45,    87,   133,    75,    76,    77,   146,    78,   135,
+     157,    79,    80,    81,    82,    83,   148,   158,    84,    85,
+     159,   160,   166,   169,   168,   171,   172,    45,    87,   178,
+     182,   185,   188,   202,   192,   190,   197,   198,   200,   204,
+     203,   141,   213,   214,   215,   219,   221,   231,   222,   232,
+     230,   223,   226,   228,   234,   237,   238,   249,   229,   250,
+     251,   235,   236,   259,   252,   277,   240,   256,   257,   241,
+     260,   180,   212,   271,   272,   273,    16,   276,   206,   149,
+     233,   201,   239,   163,     0,   147

[... 743 lines stripped ...]



More information about the asterisk-commits mailing list