This is an old revision of the document!


Grammar

This is the formal definition of XC=BASIC's grammar.

NumericLiteral:

- $ % [0-9] [A-F] d . [0-9] E [0-9]

referenced by:


CharLiteral:

' . '

referenced by:


Number:

CharLiteral NumericLiteral

referenced by:


StringLiteral:

" [^"] "

referenced by:


Identifier:

[a-z] [A-Z] _ [a-z] [A-Z] [0-9] _ $

referenced by:


Factor:

StringLiteral - NOT Number - NOT Parenthesis - NOT Address - NOT Expression

referenced by:


Term:

Factor * / MOD

referenced by:


Simplexp:

Term + -

referenced by:


Relation:

Simplexp < <= = <> > >=

referenced by:


Expression:

Relation AND OR XOR

referenced by:


Parenthesis:

( Expression )

referenced by:


Subscript:

( Expression , Expression )

referenced by:


Accessor:

Identifier Subscript . Identifier Subscript

referenced by:


Address:

@ Accessor

referenced by:


LabelReference:

[a-z] [A-Z] _ [a-z] [A-Z] _ [0-9]

referenced by:


Label:

LabelReference :

referenced by:


_CALL:

CALL Accessor

referenced by:


_CONST:

SHARED CONST Variable = Number

referenced by:


_CONTINUE:

CONTINUE DO FOR

referenced by:


_DATA:

SHARED DATA AS Identifier Number StringLiteral ,

referenced by:


_DECLARATION:

DECLARE _FUNCTION _SUB

referenced by:


_DIM:

DIM STATIC FAST SHARED Identifier AS Identifier @ Number LabelReference FAST SHARED

referenced by:


_DO:

DO WHILE UNTIL Expression

referenced by:


_LET:

LET Accessor = Expression

referenced by:


_END:

END ASM IF FUNCTION SUB TYPE

referenced by:


_EXIT:

EXIT DO FOR

referenced by:


_ERROR:

ERROR Expression

referenced by:


_FIELD:

Identifier AS Identifier

referenced by:


_FOR:

FOR Identifier AS Identifier = Expression TO Expression STEP Expression

referenced by:


_FUNCTION:

FUNCTION Identifier AS Identifier ( Identifier AS Identifier , ) PRIVATE SHARED STATIC OVERLOAD INLINE

referenced by:


_GENERIC:

CHARAT CLOSE LOAD LOCATE MEMCPY MEMSET MEMSHIFT OPEN POKE RANDOMIZE SAVE SCREEN TEXTAT WAIT Expression ,

referenced by:


_GET:

GET # Expression , Accessor

referenced by:


_GOTO:

GOTO LabelReference

referenced by:


_GOSUB:

GOSUB LabelReference

referenced by:


_IF:

IF Expression THEN Statement ELSE Statement

referenced by:


_INCBIN:

INCBIN StringLiteral

referenced by:


_INCLUDE:

INCLUDE StringLiteral

referenced by:


_INPUT:

INPUT # Expression , StringLiteral , Accessor , ;

referenced by:


_LOOP:

LOOP WHILE UNTIL Expression

referenced by:


_NEXT:

NEXT Identifier

referenced by:


_ON:

ON Expression ERROR GOTO GOSUB LabelReference ,

referenced by:


_ORIGIN:

ORIGIN Number

referenced by:


_PRINT:

PRINT # Expression , Expression , ; Expression ;

referenced by:


_READ:

READ # Expression , Accessor

referenced by:


_REM:

' REM [^EOL]

referenced by:


_RETURN:

RETURN Expression

referenced by:


_SUB:

SUB Identifier ( Identifier AS Identifier , ) PRIVATE SHARED STATIC OVERLOAD INLINE

referenced by:


_SWAP:

SWAP Expression , Expression

referenced by:


_SYS:

SYS Expression FAST

referenced by:


_TYPE:

TYPE Identifier

referenced by:


_WRITE:

WRITE # Expression , Expression

referenced by:


Statement:

ASM _CALL _CONST _CONTINUE _DATA _DECLARATION _DIM _DO _LET _END _EXIT _ERROR ELSE _FIELD _FOR _FUNCTION _GENERIC _GET _GOTO _GOSUB _INCBIN _INCLUDE _IF _INPUT _LOOP _NEXT _ON _ORIGIN _PRINT _READ _REM _RETURN _SUB _SWAP _SYS _TYPE _WRITE

referenced by:


Line:

Label Statement

referenced by:


Program:

Line EOF

no references



  ... generated by RR - Railroad Diagram Generator R R