LL(n)
Program
/*
* A program can be
* either <= { Dependency -> Space }
* or <= Block
*/
Program :=
| {
(Dependency ">>")?
Space
}
| BlockDependency
/*
* Dependencies can be defined as a list of dependency items,
* with the delimiter ","
*
* @("abc", "xyz", ...)
*/
Dependency := "@" "(" DependencyItem ["," DependencyItem]* ")"Dependency Item
Space
Block
Statement
Expression
Variable Definition
Free Variable (Undefined)
Variable (Assignment)
Last updated