mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-18 15:49:56 +00:00
(closes issue #12467)
Reported by: atis Tested by: murf This upgrade adds the ~~ (concatenation) string operator to expr2. While not needed in normal runtime pbx operation, it is needed when raw exprs are being syntax checked. This plays into future syntax- unification plans. By permission of atis, this addition in trunk and the reason of why things are as they are will suffice to close this bug. I also added a short note about the previous addition of "sip show sched" to the CLI in CHANGES, which I discovered I forgot in a previous commit. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -38,7 +38,7 @@ AEL is really the merger of 4 different 'languages', or syntaxes:
|
||||
language, that AEL will compile into.
|
||||
\end{itemize}
|
||||
|
||||
Any programmer of AEL should be familiar with it's syntax, of course,
|
||||
Any programmer of AEL should be familiar with its syntax, of course,
|
||||
as well as the Expression syntax, and the Variable syntax.
|
||||
|
||||
|
||||
@@ -114,9 +114,9 @@ the Asterisk environment!
|
||||
|
||||
\section{Getting Started}
|
||||
|
||||
The AEL parser (pbx\_ael.so) is completely separate from the module
|
||||
The AEL parser (res\_ael.so) is completely separate from the module
|
||||
that parses extensions.conf (pbx\_config.so). To use AEL, the only
|
||||
thing that has to be done is the module pbx\_ael.so must be loaded by
|
||||
thing that has to be done is the module res\_ael.so must be loaded by
|
||||
Asterisk. This will be done automatically if using 'autoload=yes' in
|
||||
\path{/etc/asterisk/modules.conf}. When the module is loaded, it will look
|
||||
for 'extensions.ael' in \path{/etc/asterisk/}. extensions.conf and
|
||||
|
||||
@@ -302,6 +302,27 @@ with equal precedence are grouped within \{ \} symbols.
|
||||
will be the result of the "evaluation" of this
|
||||
expression. expr3 will be the result otherwise. This
|
||||
operator has the lowest precedence.
|
||||
|
||||
\item \verb!expr1 ~~ expr2!
|
||||
|
||||
Concatenation operator. The two exprs are evaluated and
|
||||
turned into strings, stripped of surrounding double quotes,
|
||||
and are turned into a single string with no invtervening spaces.
|
||||
This operator is new to trunk after 1.6.0; it is not needed
|
||||
in existing extensions.conf code. Because of the way asterisk
|
||||
evaluates ${ } and $[ ] constructs (recursively, bottom-
|
||||
up), no $[] or ${} is ever present when the contents
|
||||
of a ${} or $[] is evaluated. Thus, tokens are usually
|
||||
already merged at evaluation time. But, in AEL, various
|
||||
exprs are evaluated raw, and ${} and $[] are gathered
|
||||
and treated as tokens. And in AEL, no two tokens can
|
||||
sit side by side without an intervening operator.
|
||||
So, in AEL, concatenation must be explicitly specified
|
||||
in expressions. This new operator will play well into
|
||||
future plans, where expressions ($[] constructs, and
|
||||
variable references (${} constructs) are merged into a
|
||||
single grammar.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
Parentheses are used for grouping in the usual manner.
|
||||
|
||||
Reference in New Issue
Block a user