エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
SnowClust Haskell:命令型言語のパーサー
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
SnowClust Haskell:命令型言語のパーサー
WYS48Hを読んだ後では命令型言語風のパーサーもほとんど自明なのか, あんまりその辺りの話を見かけない... WYS48Hを読んだ後では命令型言語風のパーサーもほとんど自明なのか, あんまりその辺りの話を見かけない気がしているので,せっかくだからまとめてみようと思う. EBNF言語の構文は大雑把にいってPascal風・C風・Python風のどれかに属するのだけど, 今回作るのはPascal風のwhile言語(ただし,LL(1)ではない). PROGRAM = LIST; LIST = [STMT, {T, STMT}], [T]; T = ";" | "\n"; STMT = DEF | ASGN | CALL | FUNC | LOOP | COND | RETURN; FUNC = "def", ID, "(", [ID, {",", ID}], ")", T, LIST, "end"; DEF = "var", ID, ["=", EXPR]; COND = "if", "(", EXPR,