Next: Bovine Grammar Rules, Previous: Bovine parser development, Up: Bovine parser development [Contents]
In Bison, one and only one nonterminal is designated as the “start”
symbol. In Semantic, one or more nonterminals can be designated as
the “start” symbol. They are declared following the %start
keyword separated by spaces.
If no %start
keyword is used in a grammar, then the very first
is used. Internally the first start nonterminal is targeted by the
reserved symbol bovine-toplevel
, so it can be found by the
parser harness.
To find locally defined variables, the local context handler needs to
parse the body of functional code. The scopestart
declaration
specifies the name of a nonterminal used as the goal to parse a local
context. Internally the
scopestart nonterminal is targeted by the reserved symbol
bovine-inner-scope
, so it can be found by the parser harness.