0
私はPython 3.4.2でANTLR4を学んでいます。ここでの目標はルールの{}内に複数行のPythonコードを書くことです。私は、パーサーのルールを定義するとき、私は、次のコードブロックを持っている:コンパイルして「:予期しないインデント印刷( 『A』)IndentationError」を提起しないANTLR4 with Python3:「IndentationError:予期しないインデント」
...
term
: term '*' fact
| term '/' fact
{
print('a')
}
| fact
{
print('b')
}
;
...
。私は理解しようとした私は、次のコードブロックは、いずれかのエラーをスローしないことが判明:
...
term
: term '*' fact
| term '/' fact
{print('a')}
| fact
{
print('b')
}
;
...
私は2つのオペランドと、オペランドを1つ使用しますがないときは、それはOKだったかのように動作します。
なぜですか?
私はインターネットで自分の検索を行いましたが、同様のケースは見つかりませんでした。