Commit Graph

45 Commits

Author SHA1 Message Date
Steve Murphy
b04af32888 Applied the same fixes for ael.flex as was done in 97849 for ast_expr2.fl; overrode the normally generate yyfree func with our own version that checks the pointer for non-null before passing to free(). Also takes care of a little problem with 2.5.33 and the use of the __STDC_VERSION__ macro.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@97889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 21:37:10 +00:00
Steve Murphy
4c7393a6a4 closes issue #11086 where a user complains that references to following contexts report a problem; The problem was REALLy that he was referring to empty contexts, which were being ignored. Reporter stated that empty contexts should be OK. I checked it out against extensions.conf, and sure enough, empty contexts ARE ok. So, I removed the restriction from AEL. This, though, highlighted a problem with multiple contexts of the same name. This should be OK, also. So, I added the extend keyword to AEL, and it can preceed the 'context' keyword (mixed with 'abstract', if nec.). This will turn off the warnings in AEL if the same context name is used 2 or more times. Also, I now call ast_context_find_or_create for contexts now, instead of just ast_context_create; I did this because pbx_config does this. The 'extend' keyword thus becomes a statement of intent. AEL can now duplicate the behavior of pbx_config,
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-26 16:34:02 +00:00
Steve Murphy
0ffda2d201 This issue sort of closes 10786; All config files support #include with globbing (you know, *,[chars],?,{list,list},etc), so I've updated the AEL system to support this also.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-29 21:47:53 +00:00
Steve Murphy
19e8d3fdcb A fix for the flex input files, DONT_COMPILE, and STANDALONE_AEL
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-26 17:38:29 +00:00
Steve Murphy
49cce60e51 This is a slight modification to Josh's edits for #8579; both files edited were the produced by flex; so the source files need to be changed instead, and the generated files regenerated.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@49237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-02 22:30:53 +00:00
Steve Murphy
6557d250c8 This commit is a basic AEL enhancement: c-style comments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 02:53:15 +00:00
Steve Murphy
04ed725e73 OK, here is everything I changed to fix 7474:
1. ael/ael.flex -- the "fix" is here. In short, I modified the
   pattern for the chars that break args, to exclude those chars that
   would normally break args if they are preceded by a backslash. I did
   this to 3 patterns where really, this kind of exclusion should be placed.

2. ael_lex.c is an updated output from lex.

3. the ael-test stuff -- instituted a regression test for this condition.
   as ael_ntest9. The "n" in the name means that instead of just getting
   the syntax/semantic errors and high-level output from aelparse, we
   also want the compilation results to be in the comparison file.
   (remove the -n option). 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-06 22:49:18 +00:00
Russell Bryant
171992e505 don't use ast_copy_string when building for an external tool
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-10 04:41:34 +00:00
Kevin P. Fleming
b31b0be819 various minor portability fixes (mostly from tholo for OpenBSD)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-09 20:26:25 +00:00
Kevin P. Fleming
472c1ca282 simplify autoconfig include mechanism (make tholo happy he can use lint again :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 18:54:56 +00:00
Luigi Rizzo
c305fb082d more simplifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01 00:31:47 +00:00
Luigi Rizzo
01360f6440 always trim the trailing ';'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01 00:27:27 +00:00
Luigi Rizzo
33167fc41c comment usage of contexts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01 00:20:11 +00:00
Luigi Rizzo
8faa2e7d44 put back some simplifications, this time really tested
(ael_lex.c manually deleted, runtest passed)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 23:31:43 +00:00
Luigi Rizzo
db14f6b107 revert ael.flex to the last correct version.
For some reason the makefile did not regenerate the
ael_lex.c file correctly so i was not testing the changes.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23781 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 23:21:49 +00:00
Luigi Rizzo
44f43f9eb1 another small set of simplifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 23:04:58 +00:00
Luigi Rizzo
c22ef69d1f simplify logic (runtest passed).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 22:56:41 +00:00
Luigi Rizzo
c5f779d0a0 more comments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 09:24:04 +00:00
Luigi Rizzo
9a8a037250 comment some code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 09:06:28 +00:00
Luigi Rizzo
d30ead1474 simplify handling of line numbers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-28 15:42:13 +00:00
Luigi Rizzo
dad2812867 fix last known bug in computing columb numbers in error messages
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-28 15:33:05 +00:00
Luigi Rizzo
c1366df3d5 fix a bug in computing line numbers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-28 15:24:30 +00:00
Luigi Rizzo
799126216e - fix miscalculation in column numbers when multiple tabs
or empty lines are involved;
- change linku1() to return the head of the list (unused at the moment);
- ignore the source line number in runtests as they change with the
  source and cause mismatches in the comparison with the reference output.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-28 14:17:03 +00:00
Luigi Rizzo
304fbbd1b6 fix destructor for pval objects (thanks to Steve Murphy);
rearrange initial part of ael.flex for flexibility.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 21:09:52 +00:00
Luigi Rizzo
456e27b453 document variable and options used.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 20:08:42 +00:00
Luigi Rizzo
9033ecfaa2 slightly restructure a block to reduce nesting,
mark some missing error checks



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 19:29:14 +00:00
Luigi Rizzo
b37af2f16c remove some commented-out code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 17:16:41 +00:00
Luigi Rizzo
a5fdd0d6b0 finish packing yylloc into macros
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 17:10:15 +00:00
Luigi Rizzo
e51725d6d4 add some comments to the code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 17:00:09 +00:00
Luigi Rizzo
5591294c5e more dup removal
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 11:43:34 +00:00
Luigi Rizzo
98d769c7c0 more duplicate removal
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 11:34:44 +00:00
Luigi Rizzo
ef8f9a28a3 remove duplicated code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 11:20:26 +00:00
Luigi Rizzo
53715e59cf staticize c_prevword()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 10:13:39 +00:00
Luigi Rizzo
a8995c0bfd move similar blocks close to each other to make similarities
more evident



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 01:35:52 +00:00
Luigi Rizzo
e7d6df39d0 normalize and simplify the code for keeping track of line and column number.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 01:27:07 +00:00
Luigi Rizzo
2d33128385 define some flex constants for character sets.
partly fix indentation and normalize code layout.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 01:07:24 +00:00
Luigi Rizzo
d19f767c3c uncomment some functions in the flex code that were actually
used in the bison code - detected by making aelparse compile
again.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 00:05:05 +00:00
Luigi Rizzo
a857016551 use \t to indicate a tab, and fix indentation for
the whitespace-handling rules



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-26 23:36:05 +00:00
Luigi Rizzo
f52022fc6f remove common blocks of code with a macro (waiting for a better
solution).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-26 23:18:03 +00:00
Luigi Rizzo
df5635d844 staticize some variables
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-26 23:08:47 +00:00
Luigi Rizzo
e141352fd9 comment behaviour of pbcwhere in preparation for its use
in more places.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-26 22:56:18 +00:00
Luigi Rizzo
aaf99191c8 include/asterisk/ael_structs.h:
- protect against multiple includes of ael_structs.h
  - remove prototypes for unused or undeclared functions

pbx/ael/ael.y
  - staticize functions as appropriate
  - constify arguments
  - remove useless extern

pbx/ael/ael.flex
  - ifdef out unused functions

pbx/pbx_ael.c
  - constify some variables and arguments
  - ifdef out unused functions
  - staticize functions as appropriate

update generated files accordingly 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-26 22:41:16 +00:00
Luigi Rizzo
2de9dcb345 whitespace-only change:
fix formatting and indentation of the flex file,
and regenerate the ael_lex.c



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-26 18:40:09 +00:00
Luigi Rizzo
36807ad092 wrong path in include file.
Maybe it compiled on some platform because of extra -I
statements in the Makefiles.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-25 17:08:41 +00:00
Kevin P. Fleming
5f58cc8770 Merge Steve Murphy's (murf) complete re-implementation of AEL, which is now no longer considered experimental :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-24 17:41:27 +00:00