Very stupid errors. Like:
First
Since we have
LabelName (used by labelReference, labelDefinition)
: "@" SimpleName;
so
labelReference (used by atomicExpression, jump)
: "@" ++ LabelName
;
should be:’
labelReference (used by atomicExpression, jump)
: LabelName
;
Second
Since we have
parameter (used by functionType, setter, functionParameter)
: SimpleName ":" type
;
so
functionType (used by typeReference)
: (type ".")? "(" parameter{","}? ")" "->" type?
;
The parameter
should be SimpleName
because
val a: A.(B) -> C = { xxx }
is recognized as correct definition.