ребята в JavaCC, когда у меня нетерминальные квадратные скобки, например:
void NonTerminal: {} { [OtherNonTerminal()] } void OtherNonTerminal: {} { <TOKEN> [<OTHERTOKEN> OtherNonTerminal()] }
Что означают квадратные скобки вокруг него?
[OtherNonTerminal()] совпадает с (OtherNonTerminal())? и означает, что OtherNonTerminal является необязательным.То есть NonTerminal может соответствовать либо 1005 *, либо ничего.
[OtherNonTerminal()]
(OtherNonTerminal())?
OtherNonTerminal
NonTerminal