I am trying to implement a front end which attempts to conform to a subset of this specification.
It seems that many things are clearly defined in the reference, except <LINE-START>
and <LINE-END>
, which are nevertheless often used.
Here is a citation: "For ease of specification it is convenient to be able to explicitly refer to the point that immediately precedes the beginning of a logical line and the point immediately preceding the final line-terminator of a logical line. This is accomplished using <LINE-START>
and <LINE-END>
as terminal symbols of the VBA grammars. A <LINE-START>
is defined to immediately precede each logical line and a <LINE-END>
is defined as replacing the <line-terminator>
at the end of each logical line:"
Here are some examples:
line-terminator = (%x000D %x000A) / %x000D / %x000A / %x2028 / %x2029
line-continuation = *WSC underscore *WSC line-terminator
WS = 1*(WSC / line-continuation)
EOL = [WS] LINE-END
logical-line = LINE-START *extended-line LINE-END
if-statement = LINE-START “If” boolean-expression “Then” EOL
statement-block
*[else-if-block]
[else-block]
LINE-START ((“End” “If”) / “EndIf”)
else-if-block = LINE-START “ElseIf” boolean-expression “Then” EOL
LINE-START statement-block
else-block = LINE-START “Else” statement-block
Does anyone know where and how to define <LINE-START>
and <LINE-END>
?