nptclのブログ

Common Lisp処理系nptの開発メモです。https://github.com/nptcl/npt

2022-04-16から1日間の記事一覧

Common LispでLALR(1)のparserを作る4

前回:Common LispでLALR(1)のparserを作る3 - nptclのブログ 1. 続きです Common LispでLR(1)の表を作りました! あとは実行してみて、そのあとでLALR(1)もやってみます。 2. 構文解析の実行 実行するためには、新たにスタックが必要になります。 すでに構…

Common LispでLALR(1)のparserを作る3

前回:Common LispでLALR(1)のparserを作る2 - nptclのブログ 1. 続きです Common LispでひたすらLR(1)を作成するコーナーです。 CLOSUREまで作ったので、状態遷移表の作成に入ります。 2. GOTO CLOSUREができたら、次はGOTOを作りましょう。 まずは定義から…

Common LispでLALR(1)のparserを作る2

前回:Common LispでLALR(1)のparserを作る1 - nptclのブログ 【変更】first-parseを修正しました。 1. 続きです Common Lispでひたすらparserを作っていきます。 前回は、shift, reduceについて解説しました。 今回はLR(1)をひたすら作っていきます。 ここ…

Common LispでLALR(1)のparserを作る1

1. はじめに Common LispでLALR(1)のparserを作りたくなりました。 ここでは、ただひたすらparserを作っていきます。 テストコードですが完成版を先に置いておきます。 https://github.com/nptcl/parser/blob/main/blog/parser.lisp 2. parserの説明 parser…