エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
LSP学習記 #2 クラゲ言語の構文解析 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
LSP学習記 #2 クラゲ言語の構文解析 - Qiita
字句解析 ソースコードが文字列のままでは扱いにくいです。そこで、ソースコードを「トークン」のリスト... 字句解析 ソースコードが文字列のままでは扱いにくいです。そこで、ソースコードを「トークン」のリストに分解します。トークンというのは、単語や数値、記号などのことです。 let x be 1 → "let", "x", "be", "1" クラゲ言語では、スペースは重要じゃないのでトークンではないことにします。 一方、改行はトークンにします。「文の終わり」として構文上、重要だからです。実際には、ファイル末尾に改行がないケースに備えて 文の終わり に特殊なトークンを自動挿入するようにします。 字句解析: 実装 ソースコードを行ごとに分解した後、その行を正規表現で分解する、という方針にしました。これは正規表現の exec メソッドを使うと簡単です。 JavaScript の新機能である配列の分割代入と一緒に使うと簡潔に書けます。 RegExp.prototype.exec() | MDN 分割代入