2015-08-01から1ヶ月間の記事一覧
昨日までで、新しい構文規則を全部スクリプトへ落とし終えました。ちょっと長くなりますが、構文解析クラスのスクリプト全文を示します。その後に、実行結果を載せます。とりあえず、問題なく動いているようです。#!/usr/bin/python# coding: utf-8class psr…
今日は、生成則 2. EXEC_STMTS を書いていきます。生成則を再掲します。 2. EXEC_STMTS → EXEC_STMT EXEC_STMTS → λ 実行文を繰り返すだけです。 それでは、スクリプトへ落としていきましょう! def exec_stmts(self): self.token.next() if self.token.toke…
今日は、生成則 3. EXEC_STMT を書いていきます。生成則を再掲します。 3. EXEC_STMT → ASSIGN_STMT 簡単すぎて、なんでこんな規則が必要なんだ?と思いますが、これは後々のための文法です。今は代入文(assign stmt)だけなので無意味に見えますが、今後if文…
今日は、生成則 4. ASSIGN_STMT を書いていきます。生成則を再掲します。 4. ASSIGN_STMT → NON_KEY_ID ':=' EXPRESS ';' 昨日までは、ほぼ同じ形の生成規則が続いたのでコピペですんでいましたが、久しぶりに違う形がやってきました。といっても、やはり生…
おっと、下書きを書いたら安心して、upするの忘れてた←昨日 今日は、生成則 5. EXPRESS を書いていきます。生成則を再掲します。 5. EXPRESS → TERM EXPRESSES 形としては、FACTORやTERMとまったく同じです。これはもう、コピペあるのみです。それでは、スク…
今日は、生成則 6. EXPRESSES を書いていきます。生成則を再掲します。 6. EXPRESSES → REL_OP TERM → λ 形としては、FACTORSやTERMSと同じです。これまた、ほぼコピペで行けそうです。それでは、スクリプトへ落としていきましょう! def expresses(self): i…
今日は、生成則 7.TERM を書いていきます。生成則を再掲します。 8. TERM → TACTER TERMS これまた、なんかどこかで見た気がします。昨日のFACTORSとFACTORの関係と同じですね。生成規則10.FACTORを再掲してみます。 9. FACTOR → PART FACTORS かたちがまっ…
今日は、生成則 8.TERMS を書いていきます。生成則を再掲します。 8. TERMS → ADD_LEV_OP FACTOR TERMS → λ なんか、どこかで見た気がしますね。そう、この前作ったFACTORSとそっくりです。生成規則10.FACTORSを再掲してみます。 10.FACTORS → MULT_LEV_OP P…