問題タブ [alex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
457 参照

haskell - Haskell - Alex lexer - 空白と改行を状態として扱う

Alex + Happy を使用して、Haskell で言語のパーサーを作成しています。

私がやりたいことは: アレックスでは、空白と改行をスキップしますが、それらを状態として保持し、トークンの前に改行とインデントを含むトークンを発行します。

インデントと改行に余分なトークンを発行し、後でそれらを折りたたむこともできると思いますが、よりクリーンなアプローチを好みます。

インデント/改行情報を保持し、トークンを発行するアクション内でアクセス可能なモナドで alex のトークン処理をラップする方法はありますか?