だから、私はパーサーがどのようなものになるのか疑問に思っていました:
line : expression EOF;
expression : m_expression (PLUS m_expression)?;
m_expression: basic (TIMES basic)?;
basic : NUMBER | VARIABLE | (OPENING expression CLOSING) | expression;
再帰的で無効なままですが、パーサーは
line : expression EOF;
expression : m_expression (PLUS m_expression)?;
m_expression: basic (TIMES basic)?;
basic : NUMBER | VARIABLE | (OPENING expression CLOSING);
「基本」の定義がまだ「式」を参照している場合でも、有効で機能します。特に、次の形式で式を解析できるようにしたいと考えています。
a+b+c
2つ以上のオペランドに作用する操作を導入することなく。