program -> topLevelStmtList
topLevelStmtList -> stmt topLevelStmtList
topLevelStmtList -> stmt
assign -> objlval be expr eol
assign -> fieldlval be expr eol
assign -> arraylval be expr eol
fieldlval -> let field
objlval -> let obj
arraylval -> let arrRef
expr -> noBool < expr
expr -> noBool
noBool -> noPlus + noBool
noBool -> noPlus - noBool
noBool -> noPlus
noPlus -> noMult * noPlus
noPlus -> noMult / noPlus
noPlus -> noMult
noMult -> number
noMult -> string
noMult -> a new id
noMult -> field
noMult -> obj
obj -> the id
field -> the id of noMult
noMult -> the ordinal id
ordinal -> first
ordinal -> second
ordinal -> third
noMult -> ( expr )
noMult -> arrRef
arrRef -> the item in expr with an index of noMult
stmt -> assign
stmt -> while expr eol indent topLevelStmtList dedent
stmt -> if expr eol indent topLevelStmtList dedent
stmt -> if expr eol indent topLevelStmtList dedent elseClause
elseClause -> otherwise eol indent topLevelStmtList dedent
stmt -> print expr eol
stmt -> the value is expr eol
stmt -> assembly eol
stmt -> functionDef
stmt -> procedureDef
stmt -> procedureCall eol
functionDef -> rule is evaluated as follows eol indent topLevelStmtList dedent
procedureDef -> define rule as eol indent topLevelStmtList dedent
stmt -> use id eol
back to home
Copyright 2002 The Newspeak Language Project