These changes allow AEL to better check ${} constructs within $[...], that are concatenated with text.

I modified and added rules in ast_expr2.fl to better handle
the concatenations.

I added some default routines to ast_expr2.y so the standalone would
compile. It also looks like I haven't run this thru bison since 2.1, so
it's good to get this updated.

The Makefile has comments added now for check_expr2 and check_expr to
explain what they are for, and how to run them. 

The testexpr2s stuff has been removed, in favor of check_expr2.

expr2.testinput has been updated to include the two expressions
that inspired these changes (from mcnobody on #asterisk this morning)
The regression has been run and all looks well.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@179807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2009-03-03 18:11:34 +00:00
parent 2e4471d758
commit 604a51f341
7 changed files with 210 additions and 149 deletions

View File

@@ -158,6 +158,12 @@ HIBIT [\x80-\xff]
return TOKEN;
}
([a-zA-Z0-9\.';\\_^#@]|{HIBIT}|($[^{]))+\$\{ {
curlycount = 0;
BEGIN(var);
yymore();
}
<var>[^{}]*\} {
curlycount--;
@@ -182,6 +188,12 @@ HIBIT [\x80-\xff]
return TOKEN;
}
<trail>[^-\t\r \n$():?%/+=*<>!|&]*\$\{ {
curlycount = 0;
BEGIN(var);
yymore();
}
<trail>[-\t\r \n$():?%/+=*<>!|&] {
char c = yytext[yyleng-1];
BEGIN(0);
@@ -191,12 +203,6 @@ HIBIT [\x80-\xff]
return TOKEN;
}
<trail>\$\{ {
curlycount = 0;
BEGIN(var);
yymore();
}
<trail><<EOF>> {
BEGIN(0);
SET_COLUMNS;