227
edits
Line 27: | Line 27: | ||
The following CFG evaluates to all possible syntactical correct "programs" (new & not yet public version): | The following CFG evaluates to all possible syntactical correct "programs" (new & not yet public version): | ||
START -> ASSIGN ' | START -> ASSIGN [COMMENT] '\n' START | ASSIGN [COMMENT] | ||
START -> [COMMENT|COMMENTBLOCK] '\n' START | [COMMENT|COMMENTBLOCK] '\n' | |||
ASSIGN -> (NAME ':=' )+ EXPRLST | NAME'(' [NAME (, NAME)* ] ')' | ASSIGN -> (NAME ':=' )+ EXPRLST | NAME'(' [NAME (, NAME)* ] ')' | ||
EXPRLST -> EXPR EXPRLST | EXPR | EXPRLST -> [COMMENTBLOCK] (EXPR EXPRLST | EXPR) [COMMENTBLOCK] | ||
EXPR -> FIRSTAVAIL | IFTHENELSE | FUNCTION | VARIABLE | STRING | EXPR -> FIRSTAVAIL | IFTHENELSE | FUNCTION | VARIABLE | STRING | ||
FIRSTAVAIL -> '[' EXPRLST ( ',' EXPRLST )* ']' | FIRSTAVAIL -> '[' EXPRLST ( ',' EXPRLST )* ']' | ||
IFTHENELSE -> '{' EXPRLST '=' EXPRLST '?' EXPRLST ':' EXPRLST '}' | IFTHENELSE -> '{' EXPRLST '=' EXPRLST '?' EXPRLST ':' EXPRLST '}' | ||
Line 38: | Line 39: | ||
NAME -> < Any String without the following characters := []'{}(),"%$? > | NAME -> < Any String without the following characters := []'{}(),"%$? > | ||
COMMENT -> #< Any string > | COMMENT -> #< Any string > | ||
COMMENTBLOCK -> /*< Any string >*/ | |||
Note: | Note: |
edits