==Python PLY (Pythonによる構文解析)==
[[Python]]
{{amazon|4774138959}}
===PLY (Python Lex-Yacc) ===
t.type = reserved.get(t.value,'ID') # 予約語のチェック
return t
<<blockquote>>予約語に対して、以下のようにルールを記述できる<</blockquote>>
t_FOR = r'for'
t_PRINT = r'print'
while True:
try:
s = raw_input('calc > > ')
except EOFError:
break
literals = ['+','-','*','/' ]
<<blockquote>>文字リテラルを利用できるのは、1文字のシンボルのみ<</blockquote>>
====空の値を生成する====
...
<<blockquote>>start 指定は、大きな文法のサブセットを利用してデバッグする場合などに有用<</blockquote>>
*以下のようにも指定できる
yacc.yacc(start='foo')