progam:
endOfLine
moduleAttributes
endOfLine
moduleDeclarations
endOfLine
moduleBody
endOfLine
$EOF
progam
::=
endOfLine
*
moduleAttributes
?
endOfLine
*
moduleDeclarations
?
endOfLine
*
moduleBody
?
endOfLine
* '$EOF'
no references
endOfLine:
NEWLINE
COMMENT
REMCOMMENT
endOfLine
::= 'NEWLINE'
| 'COMMENT'
| 'REMCOMMENT'
referenced by:
endOfStatement
moduleAttributes
moduleBody
moduleDeclarations
progam
endOfStatement:
endOfLine
COLON
endOfStatement
::= (
endOfLine
| 'COLON' )+
referenced by:
block
doLoopStmt
forEachStmt
forNextStmt
functionStmt
ifBlockStmt
ifElseBlockStmt
ifElseIfBlockStmt
propertyGetStmt
propertyLetStmt
propertySetStmt
sC_Case
selectCaseStmt
subStmt
whileWendStmt
withStmt
moduleAttributes:
attributeStmt
endOfLine
moduleAttributes
::= (
attributeStmt
endOfLine
+ )+
referenced by:
progam
attributeStmt:
ATTRIBUTE
implicitCallStmt_InStmt
EQ
literal
,
attributeStmt
::= 'ATTRIBUTE'
implicitCallStmt_InStmt
'EQ'
literal
( ','
literal
)*
referenced by:
blockStmt
moduleAttributes
moduleDeclarations:
moduleDeclarationsElement
endOfLine
endOfLine
moduleDeclarations
::=
moduleDeclarationsElement
(
endOfLine
+
moduleDeclarationsElement
)*
endOfLine
*
referenced by:
progam
moduleDeclarationsElement:
COMMENT
variableStmt
moduleOption
moduleDeclarationsElement
::= 'COMMENT'
|
variableStmt
|
moduleOption
referenced by:
moduleDeclarations
moduleOption:
OPTION_BASE
INTEGERLITERAL
OPTION_COMPARE
IDENTIFIER
OPTION_EXPLICIT
OPTION_PRIVATE_MODULE
moduleOption
::= 'OPTION_BASE' 'INTEGERLITERAL'
| 'OPTION_COMPARE' 'IDENTIFIER'
| 'OPTION_EXPLICIT'
| 'OPTION_PRIVATE_MODULE'
referenced by:
moduleDeclarationsElement
moduleBody:
moduleBodyElement
endOfLine
endOfLine
moduleBody
::=
moduleBodyElement
(
endOfLine
+
moduleBodyElement
)*
endOfLine
*
referenced by:
progam
moduleBodyElement:
functionStmt
propertyGetStmt
propertySetStmt
propertyLetStmt
subStmt
moduleBodyElement
::=
functionStmt
|
propertyGetStmt
|
propertySetStmt
|
propertyLetStmt
|
subStmt
referenced by:
moduleBody
visibility:
PRIVATE
PUBLIC
FRIEND
GLOBAL
visibility
::= 'PRIVATE'
| 'PUBLIC'
| 'FRIEND'
| 'GLOBAL'
referenced by:
functionStmt
propertyGetStmt
propertyLetStmt
propertySetStmt
subStmt
variableStmt
subStmt:
visibility
STATIC
SUB
IDENTIFIER
argList
endOfStatement
block
END_SUB
subStmt
::=
visibility
? 'STATIC'? 'SUB' 'IDENTIFIER'
argList
?
endOfStatement
block
? 'END_SUB'
referenced by:
moduleBodyElement
propertyGetStmt:
visibility
STATIC
PROPERTY_GET
IDENTIFIER
typeHint
argList
asTypeClause
endOfStatement
block
END_PROPERTY
propertyGetStmt
::=
visibility
? 'STATIC'? 'PROPERTY_GET' 'IDENTIFIER'
typeHint
?
argList
?
asTypeClause
?
endOfStatement
block
? 'END_PROPERTY'
referenced by:
moduleBodyElement
propertySetStmt:
visibility
STATIC
PROPERTY_SET
IDENTIFIER
argList
endOfStatement
block
END_PROPERTY
propertySetStmt
::=
visibility
? 'STATIC'? 'PROPERTY_SET' 'IDENTIFIER'
argList
?
endOfStatement
block
? 'END_PROPERTY'
referenced by:
moduleBodyElement
propertyLetStmt:
visibility
STATIC
PROPERTY_LET
IDENTIFIER
argList
endOfStatement
block
END_PROPERTY
propertyLetStmt
::=
visibility
? 'STATIC'? 'PROPERTY_LET' 'IDENTIFIER'
argList
?
endOfStatement
block
? 'END_PROPERTY'
referenced by:
moduleBodyElement
functionStmt:
visibility
STATIC
FUNCTION
IDENTIFIER
typeHint
argList
asTypeClause
endOfStatement
block
END_FUNCTION
functionStmt
::=
visibility
? 'STATIC'? 'FUNCTION' 'IDENTIFIER'
typeHint
?
argList
?
asTypeClause
?
endOfStatement
block
? 'END_FUNCTION'
referenced by:
moduleBodyElement
block:
blockStmt
endOfStatement
block
::= (
blockStmt
endOfStatement
)+
referenced by:
doLoopStmt
forEachStmt
forNextStmt
functionStmt
ifBlockStmt
ifElseBlockStmt
ifElseIfBlockStmt
propertyGetStmt
propertyLetStmt
propertySetStmt
sC_Case
subStmt
whileWendStmt
withStmt
blockStmt:
lineLabel
lineLabel
attributeStmt
goToStmt
resumeStmt
ifThenElseStmt
selectCaseStmt
forNextStmt
forEachStmt
doLoopStmt
whileWendStmt
onErrorStmt
withStmt
eraseStmt
exitStmt
explicitCallStmt
setStmt
redimStmt
letStmt
variableStmt
implicitCallStmt_InBlock
blockStmt
::=
lineLabel
* (
lineLabel
|
attributeStmt
|
goToStmt
|
resumeStmt
|
ifThenElseStmt
|
selectCaseStmt
|
forNextStmt
|
forEachStmt
|
doLoopStmt
|
whileWendStmt
|
onErrorStmt
|
withStmt
|
eraseStmt
|
exitStmt
|
explicitCallStmt
|
setStmt
|
redimStmt
|
letStmt
|
variableStmt
|
implicitCallStmt_InBlock
)
referenced by:
block
ifThenElseStmt
resumeStmt:
RESUME
ambiguousIdentifier
resumeStmt
::= 'RESUME'
ambiguousIdentifier
referenced by:
blockStmt
whileWendStmt:
WHILE
valueStmt
endOfStatement
block
WEND
whileWendStmt
::= 'WHILE'
valueStmt
endOfStatement
block
'WEND'
referenced by:
blockStmt
doLoopStmt:
DO
endOfStatement
block
LOOP
WHILE
UNTIL
valueStmt
WHILE
UNTIL
valueStmt
endOfStatement
block
LOOP
doLoopStmt
::= 'DO' (
endOfStatement
block
'LOOP' ( ( 'WHILE' | 'UNTIL' )
valueStmt
)? | ( 'WHILE' | 'UNTIL' )
valueStmt
endOfStatement
block
'LOOP' )
referenced by:
blockStmt
forNextStmt:
FOR
IDENTIFIER
typeHint
asTypeClause
EQ
valueStmt
TO
valueStmt
STEP
valueStmt
endOfStatement
block
NEXT
ambiguousIdentifier
forNextStmt
::= 'FOR' 'IDENTIFIER'
typeHint
?
asTypeClause
? 'EQ'
valueStmt
'TO'
valueStmt
( 'STEP'
valueStmt
)?
endOfStatement
block
? 'NEXT'
ambiguousIdentifier
?
referenced by:
blockStmt
forEachStmt:
FOR
EACH
IDENTIFIER
typeHint
IN
valueStmt
endOfStatement
block
NEXT
ambiguousIdentifier
forEachStmt
::= 'FOR' 'EACH' 'IDENTIFIER'
typeHint
? 'IN'
valueStmt
endOfStatement
block
? 'NEXT'
ambiguousIdentifier
?
referenced by:
blockStmt
selectCaseStmt:
SELECT
CASE
valueStmt
endOfStatement
sC_Case
END_SELECT
selectCaseStmt
::= 'SELECT' 'CASE'
valueStmt
endOfStatement
sC_Case
* 'END_SELECT'
referenced by:
blockStmt
sC_Selection:
IS
comparisonOperator
valueStmt
TO
valueStmt
sC_Selection
::= ( 'IS'
comparisonOperator
|
valueStmt
'TO' )?
valueStmt
referenced by:
sC_Cond
sC_Case:
CASE
sC_Cond
endOfStatement
block
sC_Case
::= 'CASE'
sC_Cond
endOfStatement
block
?
referenced by:
selectCaseStmt
sC_Cond:
ELSE
sC_Selection
,
sC_Cond
::= 'ELSE'
|
sC_Selection
( ','
sC_Selection
)*
referenced by:
sC_Case
comparisonOperator:
LT
LEQ
GT
GEQ
EQ
NEQ
IS
comparisonOperator
::= 'LT'
| 'LEQ'
| 'GT'
| 'GEQ'
| 'EQ'
| 'NEQ'
| 'IS'
referenced by:
sC_Selection
ifThenElseStmt:
ifBlockStmt
ifElseIfBlockStmt
ifElseBlockStmt
END_IF
IF
valueStmt
THEN
blockStmt
ELSE
blockStmt
ifThenElseStmt
::= 'IF'
valueStmt
'THEN'
blockStmt
( 'ELSE'
blockStmt
)?
|
ifBlockStmt
ifElseIfBlockStmt
*
ifElseBlockStmt
? 'END_IF'
referenced by:
blockStmt
ifBlockStmt:
IF
valueStmt
THEN
endOfStatement
block
ifBlockStmt
::= 'IF'
valueStmt
'THEN'
endOfStatement
block
?
referenced by:
ifThenElseStmt
ifElseIfBlockStmt:
ELSEIF
valueStmt
THEN
endOfStatement
block
ifElseIfBlockStmt
::= 'ELSEIF'
valueStmt
'THEN'
endOfStatement
block
?
referenced by:
ifThenElseStmt
ifElseBlockStmt:
ELSE
endOfStatement
block
ifElseBlockStmt
::= 'ELSE'
endOfStatement
block
?
referenced by:
ifThenElseStmt
onErrorStmt:
ON_ERROR
GOTO
IDENTIFIER
MINUS
INTEGERLITERAL
RESUME
NEXT
onErrorStmt
::= 'ON_ERROR' ( 'GOTO' ( 'IDENTIFIER' | 'MINUS' 'INTEGERLITERAL' ) | 'RESUME' 'NEXT' )
referenced by:
blockStmt
lineLabel:
IDENTIFIER
COLON
lineLabel
::= 'IDENTIFIER' 'COLON'
referenced by:
blockStmt
goToStmt:
GOTO
ambiguousIdentifier
goToStmt
::= 'GOTO'
ambiguousIdentifier
referenced by:
blockStmt
eraseStmt:
ERASE
valueStmt
,
eraseStmt
::= 'ERASE'
valueStmt
( ','
valueStmt
)*
referenced by:
blockStmt
redimStmt:
REDIM
PRESERVE
redimSubStmt
,
redimStmt
::= 'REDIM' 'PRESERVE'?
redimSubStmt
( ','
redimSubStmt
)*
referenced by:
blockStmt
redimSubStmt:
implicitCallStmt_InStmt
LPAREN
subscripts
RPAREN
asTypeClause
redimSubStmt
::=
implicitCallStmt_InStmt
'LPAREN'
subscripts
'RPAREN'
asTypeClause
?
referenced by:
redimStmt
exitStmt:
EXIT_DO
EXIT_FOR
EXIT_FUNCTION
EXIT_PROPERTY
EXIT_SUB
END
exitStmt
::= 'EXIT_DO'
| 'EXIT_FOR'
| 'EXIT_FUNCTION'
| 'EXIT_PROPERTY'
| 'EXIT_SUB'
| 'END'
referenced by:
blockStmt
letStmt:
LET
implicitCallStmt_InStmt
EQ
PLUS_EQ
MINUS_EQ
valueStmt
letStmt
::= 'LET'?
implicitCallStmt_InStmt
( 'EQ' | 'PLUS_EQ' | 'MINUS_EQ' )
valueStmt
referenced by:
blockStmt
setStmt:
SET
implicitCallStmt_InStmt
EQ
valueStmt
setStmt
::= 'SET'
implicitCallStmt_InStmt
'EQ'
valueStmt
referenced by:
blockStmt
explicitCallStmt:
eCS_MemberProcedureCall
eCS_ProcedureCall
explicitCallStmt
::=
eCS_MemberProcedureCall
|
eCS_ProcedureCall
referenced by:
blockStmt
eCS_MemberProcedureCall:
CALL
implicitCallStmt_InStmt
.
SPACE_DOT
ambiguousIdentifier
typeHint
LPAREN
argsCall
RPAREN
LPAREN
indexes
RPAREN
eCS_MemberProcedureCall
::= 'CALL' (
implicitCallStmt_InStmt
? '.' | 'SPACE_DOT' )
ambiguousIdentifier
typeHint
? ( 'LPAREN'
argsCall
'RPAREN' )? ( 'LPAREN'
indexes
'RPAREN' )*
referenced by:
explicitCallStmt
eCS_ProcedureCall:
CALL
IDENTIFIER
typeHint
LPAREN
argsCall
RPAREN
LPAREN
indexes
RPAREN
eCS_ProcedureCall
::= 'CALL' 'IDENTIFIER'
typeHint
? ( 'LPAREN'
argsCall
'RPAREN' )? ( 'LPAREN'
indexes
'RPAREN' )*
referenced by:
explicitCallStmt
implicitCallStmt_InBlock:
iCS_B_MemberProcedureCall
iCS_B_ProcedureCall
implicitCallStmt_InBlock
::=
iCS_B_MemberProcedureCall
|
iCS_B_ProcedureCall
referenced by:
blockStmt
iCS_B_MemberProcedureCall:
SPACE_DOT
implicitCallStmt_InStmt
.
ambiguousIdentifier
typeHint
argsCall
LPAREN
indexes
RPAREN
iCS_B_MemberProcedureCall
::= ( 'SPACE_DOT' |
implicitCallStmt_InStmt
? '.' )
ambiguousIdentifier
typeHint
?
argsCall
? ( 'LPAREN'
indexes
'RPAREN' )*
referenced by:
implicitCallStmt_InBlock
iCS_B_ProcedureCall:
IDENTIFIER
argsCall
LPAREN
indexes
RPAREN
iCS_B_ProcedureCall
::= 'IDENTIFIER'
argsCall
? ( 'LPAREN'
indexes
'RPAREN' )?
referenced by:
implicitCallStmt_InBlock
argsCall:
,
argCall
,
argCall
argsCall
::= ','*
argCall
( ','
argCall
? )*
referenced by:
eCS_MemberProcedureCall
eCS_ProcedureCall
iCS_B_MemberProcedureCall
iCS_B_ProcedureCall
iCS_S_ProcedureOrArrayCall
mCS_S_ProcedureOrArrayCall
argCall:
valueStmt
argCall
::=
valueStmt
referenced by:
argsCall
variableStmt:
DIM
STATIC
visibility
WITHEVENTS
variableListStmt
variableStmt
::= ( 'DIM' | 'STATIC' |
visibility
) 'WITHEVENTS'?
variableListStmt
referenced by:
blockStmt
moduleDeclarationsElement
withStmt:
WITH
implicitCallStmt_InStmt
NEW
type_
endOfStatement
block
END_WITH
withStmt
::= 'WITH' (
implicitCallStmt_InStmt
| 'NEW'
type_
)
endOfStatement
block
? 'END_WITH'
referenced by:
blockStmt
variableListStmt:
variableSubStmt
,
variableListStmt
::=
variableSubStmt
( ','
variableSubStmt
)*
referenced by:
variableStmt
variableSubStmt:
IDENTIFIER
LPAREN
subscripts
RPAREN
typeHint
asTypeClause
variableSubStmt
::= 'IDENTIFIER' ( 'LPAREN'
subscripts
? 'RPAREN' )?
typeHint
?
asTypeClause
?
referenced by:
variableListStmt
indexes:
valueStmt
,
indexes
::=
valueStmt
( ','
valueStmt
)*
referenced by:
eCS_MemberProcedureCall
eCS_ProcedureCall
iCS_B_MemberProcedureCall
iCS_B_ProcedureCall
iCS_S_MembersCall
iCS_S_ProcedureOrArrayCall
iCS_S_VariableOrProcedureCall
mCS_S_ProcedureOrArrayCall
mCS_S_VariableOrProcedureCall
subscript_:
valueStmt
TO
valueStmt
subscript_
::=
valueStmt
( 'TO'
valueStmt
)?
referenced by:
subscripts
subscripts:
subscript_
,
subscripts
::=
subscript_
( ','
subscript_
)*
referenced by:
redimSubStmt
variableSubStmt
argList:
LPAREN
arg
,
RPAREN
argList
::= 'LPAREN' (
arg
( ','
arg
)* )? 'RPAREN'
referenced by:
functionStmt
propertyGetStmt
propertyLetStmt
propertySetStmt
subStmt
valueStmt:
literal
implicitCallStmt_InStmt
IDENTIFIER
ASSIGN
NEW
MINUS
PLUS
NOT
valueStmt
IS
ISNOT
GEQ
LEQ
GT
LT
NEQ
EQ
XOR
OR
AND
PLUS
MINUS
AMPERSAND
MULT
DIV
IDIV
MOD
POW
valueStmt
LPAREN
valueStmt
RPAREN
valueStmt
::=
literal
|
implicitCallStmt_InStmt
| ( 'IDENTIFIER' 'ASSIGN' | 'NEW' | 'MINUS' | 'PLUS' | 'NOT' |
valueStmt
( 'IS' | 'ISNOT' | 'GEQ' | 'LEQ' | 'GT' | 'LT' | 'NEQ' | 'EQ' | 'XOR' | 'OR' | 'AND' | 'PLUS' | 'MINUS' | 'AMPERSAND' | 'MULT' | 'DIV' | 'IDIV' | 'MOD' | 'POW' ) )
valueStmt
| 'LPAREN'
valueStmt
'RPAREN'
referenced by:
argCall
argDefaultValue
doLoopStmt
eraseStmt
forEachStmt
forNextStmt
ifBlockStmt
ifElseIfBlockStmt
ifThenElseStmt
indexes
letStmt
sC_Selection
selectCaseStmt
setStmt
subscript_
valueStmt
whileWendStmt
implicitCallStmt_InStmt:
iCS_S_MembersCall
iCS_S_VariableOrProcedureCall
iCS_S_ProcedureOrArrayCall
implicitCallStmt_InStmt
::=
iCS_S_MembersCall
|
iCS_S_VariableOrProcedureCall
|
iCS_S_ProcedureOrArrayCall
referenced by:
attributeStmt
eCS_MemberProcedureCall
iCS_B_MemberProcedureCall
letStmt
redimSubStmt
setStmt
valueStmt
withStmt
iCS_S_MembersCall:
iCS_S_VariableOrProcedureCall
iCS_S_ProcedureOrArrayCall
iCS_S_MemberCall
iCS_S_SpaceMemberCall
iCS_S_MemberCall
LPAREN
indexes
RPAREN
iCS_S_MembersCall
::= ( (
iCS_S_VariableOrProcedureCall
|
iCS_S_ProcedureOrArrayCall
)?
iCS_S_MemberCall
|
iCS_S_SpaceMemberCall
)
iCS_S_MemberCall
* ( 'LPAREN'
indexes
'RPAREN' )*
referenced by:
implicitCallStmt_InStmt
iCS_S_MemberCall:
.
mCS_S_VariableOrProcedureCall
mCS_S_ProcedureOrArrayCall
iCS_S_MemberCall
::= '.' (
mCS_S_VariableOrProcedureCall
|
mCS_S_ProcedureOrArrayCall
)
referenced by:
iCS_S_MembersCall
iCS_S_SpaceMemberCall:
SPACE_DOT
mCS_S_VariableOrProcedureCall
mCS_S_ProcedureOrArrayCall
iCS_S_SpaceMemberCall
::= 'SPACE_DOT' (
mCS_S_VariableOrProcedureCall
|
mCS_S_ProcedureOrArrayCall
)
referenced by:
iCS_S_MembersCall
mCS_S_ProcedureOrArrayCall:
ambiguousIdentifier
typeHint
LPAREN
argsCall
RPAREN
indexes
LPAREN
mCS_S_ProcedureOrArrayCall
::=
ambiguousIdentifier
typeHint
? 'LPAREN'
argsCall
? 'RPAREN' ( 'LPAREN'
indexes
'RPAREN' )*
referenced by:
iCS_S_MemberCall
iCS_S_SpaceMemberCall
iCS_S_ProcedureOrArrayCall:
IDENTIFIER
typeHint
LPAREN
argsCall
RPAREN
indexes
LPAREN
iCS_S_ProcedureOrArrayCall
::= 'IDENTIFIER'
typeHint
? 'LPAREN'
argsCall
? 'RPAREN' ( 'LPAREN'
indexes
'RPAREN' )*
referenced by:
iCS_S_MembersCall
implicitCallStmt_InStmt
iCS_S_VariableOrProcedureCall:
IDENTIFIER
typeHint
LPAREN
indexes
RPAREN
iCS_S_VariableOrProcedureCall
::= 'IDENTIFIER'
typeHint
? ( 'LPAREN'
indexes
'RPAREN' )*
referenced by:
iCS_S_MembersCall
implicitCallStmt_InStmt
mCS_S_VariableOrProcedureCall:
ambiguousIdentifier
typeHint
LPAREN
indexes
RPAREN
mCS_S_VariableOrProcedureCall
::=
ambiguousIdentifier
typeHint
? ( 'LPAREN'
indexes
'RPAREN' )*
referenced by:
iCS_S_MemberCall
iCS_S_SpaceMemberCall
literal:
DOUBLELITERAL
INTEGERLITERAL
STRINGLITERAL
NOTHING
NULL
TRUE
FALSE
DATELITERAL
literal
::= 'DOUBLELITERAL'
| 'INTEGERLITERAL'
| 'STRINGLITERAL'
| 'NOTHING'
| 'NULL'
| 'TRUE'
| 'FALSE'
| 'DATELITERAL'
referenced by:
attributeStmt
valueStmt
typeHint:
&
%
#
!
@
$
typeHint
::= '&'
| '%'
| '#'
| '!'
| '@'
| '$'
referenced by:
arg
eCS_MemberProcedureCall
eCS_ProcedureCall
forEachStmt
forNextStmt
functionStmt
iCS_B_MemberProcedureCall
iCS_S_ProcedureOrArrayCall
iCS_S_VariableOrProcedureCall
mCS_S_ProcedureOrArrayCall
mCS_S_VariableOrProcedureCall
propertyGetStmt
variableSubStmt
arg:
OPTIONAL
BYVAL
BYREF
PARAMARRAY
IDENTIFIER
typeHint
LPAREN
RPAREN
asTypeClause
argDefaultValue
arg
::= 'OPTIONAL'? ( 'BYVAL' | 'BYREF' )? 'PARAMARRAY'? 'IDENTIFIER'
typeHint
? ( 'LPAREN' 'RPAREN' )?
asTypeClause
?
argDefaultValue
?
referenced by:
argList
argDefaultValue:
EQ
valueStmt
argDefaultValue
::= 'EQ'
valueStmt
referenced by:
arg
asTypeClause:
AS
NEW
type_
asTypeClause
::= 'AS' 'NEW'?
type_
referenced by:
arg
forNextStmt
functionStmt
propertyGetStmt
redimSubStmt
variableSubStmt
type_:
baseType
complexType
LPAREN
RPAREN
type_
::= (
baseType
|
complexType
) ( 'LPAREN' 'RPAREN' )?
referenced by:
asTypeClause
withStmt
complexType:
IDENTIFIER
.
ambiguousIdentifier
complexType
::= 'IDENTIFIER' ( '.'
ambiguousIdentifier
)*
referenced by:
type_
baseType:
BOOLEAN
BYTE
DOUBLE
INTEGER
LONG
SINGLE
VARIANT
STRING
DATE
baseType
::= 'BOOLEAN'
| 'BYTE'
| 'DOUBLE'
| 'INTEGER'
| 'LONG'
| 'SINGLE'
| 'VARIANT'
| 'STRING'
| 'DATE'
referenced by:
type_
ambiguousIdentifier:
ALIAS
AND
ATTRIBUTE
AS
BEGIN
BOOLEAN
BYVAL
BYREF
BYTE
CALL
CASE
CONST
DATE
DECLARE
DEFBOOL
DEFBYTE
DEFDATE
DEFDBL
DEFDEC
DEFCUR
DEFINT
DEFLNG
DEFOBJ
DEFSNG
DEFSTR
DEFVAR
DIM
DO
DOUBLE
EACH
ELSE
ELSEIF
END
ENUM
EQV
ERASE
EVENT
FALSE
FRIEND
FOR
FUNCTION
GET
GLOBAL
GOSUB
GOTO
IF
IMPLEMENTS
IN
ISNOT
IS
INTEGER
LONG
LOOP
LEN
LET
LIB
LIKE
LSET
MOD
NEXT
NEW
NOT
NOTHING
NULL
ON
OPTIONAL
OR
PARAMARRAY
PRESERVE
PRIVATE
PTRSAFE
PUBLIC
RAISEEVENT
REDIM
RESET
RESUME
RETURN
SELECT
SET
SINGLE
STATIC
STEP
STOP
STRING
SUB
THEN
TO
TRUE
TYPEOF
UNTIL
VARIANT
WEND
WHILE
WITH
WITHEVENTS
XOR
IMP
IDENTIFIER
ambiguousIdentifier
::= 'ALIAS'
| 'AND'
| 'ATTRIBUTE'
| 'AS'
| 'BEGIN'
| 'BOOLEAN'
| 'BYVAL'
| 'BYREF'
| 'BYTE'
| 'CALL'
| 'CASE'
| 'CONST'
| 'DATE'
| 'DECLARE'
| 'DEFBOOL'
| 'DEFBYTE'
| 'DEFDATE'
| 'DEFDBL'
| 'DEFDEC'
| 'DEFCUR'
| 'DEFINT'
| 'DEFLNG'
| 'DEFOBJ'
| 'DEFSNG'
| 'DEFSTR'
| 'DEFVAR'
| 'DIM'
| 'DO'
| 'DOUBLE'
| 'EACH'
| 'ELSE'
| 'ELSEIF'
| 'END'
| 'ENUM'
| 'EQV'
| 'ERASE'
| 'EVENT'
| 'FALSE'
| 'FRIEND'
| 'FOR'
| 'FUNCTION'
| 'GET'
| 'GLOBAL'
| 'GOSUB'
| 'GOTO'
| 'IF'
| 'IMPLEMENTS'
| 'IN'
| 'ISNOT'
| 'IS'
| 'INTEGER'
| 'LONG'
| 'LOOP'
| 'LEN'
| 'LET'
| 'LIB'
| 'LIKE'
| 'LSET'
| 'MOD'
| 'NEXT'
| 'NEW'
| 'NOT'
| 'NOTHING'
| 'NULL'
| 'ON'
| 'OPTIONAL'
| 'OR'
| 'PARAMARRAY'
| 'PRESERVE'
| 'PRIVATE'
| 'PTRSAFE'
| 'PUBLIC'
| 'RAISEEVENT'
| 'REDIM'
| 'RESET'
| 'RESUME'
| 'RETURN'
| 'SELECT'
| 'SET'
| 'SINGLE'
| 'STATIC'
| 'STEP'
| 'STOP'
| 'STRING'
| 'SUB'
| 'THEN'
| 'TO'
| 'TRUE'
| 'TYPEOF'
| 'UNTIL'
| 'VARIANT'
| 'WEND'
| 'WHILE'
| 'WITH'
| 'WITHEVENTS'
| 'XOR'
| 'IMP'
| 'IDENTIFIER'
referenced by:
complexType
eCS_MemberProcedureCall
forEachStmt
forNextStmt
goToStmt
iCS_B_MemberProcedureCall
mCS_S_ProcedureOrArrayCall
mCS_S_VariableOrProcedureCall
resumeStmt
... generated by
RR - Railroad Diagram Generator
R
R