AniAdd: Difference between revisions

Jump to navigation Jump to search
13 bytes removed ,  26 September 2009
m
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 [COMMENT] '\n' START | ASSIGN [COMMENT]  
START -> ASSIGN [COMMENT] '\n' START | ASSIGN [COMMENT]  
  START -> [COMMENT|COMMENTBLOCK] '\n' START | [COMMENT|COMMENTBLOCK] '\n'
START -> [COMMENT|COMMENTBLOCK] '\n' START | [COMMENT|COMMENTBLOCK] '\n'
  ASSIGN -> (NAME ':=' )+ EXPRLST | NAME'(' [NAME (, NAME)* ] ')'
ASSIGN -> (NAME ':=' )+ EXPRLST | NAME'(' [NAME (, NAME)* ] ')'
  EXPRLST -> [COMMENTBLOCK] (EXPR EXPRLST | EXPR) [COMMENTBLOCK]
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 '}'
  FUNCTION -> '$'NAME'(' EXPRLST ( ',' EXPRLST )* ')'
FUNCTION -> '$'NAME'(' EXPRLST ( ',' EXPRLST )* ')'
  VARIABLE -> '%'NAME'%'
VARIABLE -> '%'NAME'%'
  STRING -> ('"'<Any string except ">'"') | ("'" <Any string except '> "'")
STRING -> ('"'<Any string except ">'"') | ("'" <Any string except '> "'")
  NAME -> < Any String without the following characters := []'{}(),"%$? >
NAME -> < Any String without the following characters := []'{}(),"%$? >
  COMMENT -> #< Any string >
COMMENT -> #< Any string >
  COMMENTBLOCK -> /*< Any string >*/
COMMENTBLOCK -> /*< Any string >*/


Note:
Note:
227

edits

Navigation menu

MediaWiki spam blocked by CleanTalk.
MediaWiki spam blocked by CleanTalk.