Difference between revisions of "NXSL Formal Grammar"

527 bytes added ,  16:13, 13 September 2022
m
Text replacement - "^" to "{{deprecated}}"
(Created page with "<source lang="abnf"> script ::= module | expression module ::= module_component { module_component } module_component ::= function | statement_or_block | use_statement...")
 
m (Text replacement - "^" to "{{deprecated}}")
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<source lang="abnf">
{{deprecated}}
{| style="border-spacing: 20px; border: 20px solid red;"
|
'''WARNING''': This page is no longer updated. Please visit '''[https://www.netxms.org/documentation/nxsl-latest/#_formal_grammar NXSL Formal Grammar]''' for current version of the documentation.
|}
 
 
 
 
<pre>
script ::=
script ::=
module |
module |
Line 46: Line 55:
switch_statement |
switch_statement |
array_statement |
array_statement |
global_statement |
break ";"
break ";"
continue ";"
continue ";"
Line 81: Line 91:
default ::=
default ::=
default ":" { statement_or_block }
default ":" { statement_or_block }
array_statement ::=
[ global ] array identifier_list ";"
global_statement ::=
global global_variable_declaration { "," global_variable_declaration } ";"
global_variable_declaration ::=
IDENTIFIER [ "=" expression ]


expression ::=
expression ::=
Line 148: Line 167:
REAL |
REAL |
NULL
NULL
</source>
</pre>


'''Terminal symbols'''
'''Terminal symbols'''


<source>
<pre>
IDENTIFIER ::= [A-Za-z_\$][A-Za-z_\$0-9]*
IDENTIFIER ::= [A-Za-z_\$][A-Za-z_\$0-9]*
COMPOUND_IDENTIFIER ::= { IDENTIFIER}(::{ IDENTIFIER})+
COMPOUND_IDENTIFIER ::= { IDENTIFIER}(::{ IDENTIFIER})+
Line 161: Line 180:
UINT64 ::= {INTEGER}(UL|LU)
UINT64 ::= {INTEGER}(UL|LU)
REAL ::= \-?[0-9]+\.[0-9]+
REAL ::= \-?[0-9]+\.[0-9]+
</source>
</pre>
 
 
 
[[Category:Scripting Guide]]