alex

    2

    1答えて

    ghc-7.2.1とalex-3でBNFCを構築するのに成功した人はいますか?私は手動で修正しようとしていましたが、多くのエラーがあります。誰かがどこでパッチを見つけることができるか知っていますか?前もって感謝します。

    7

    1答えて

    私は、厳密に形成された英語の非常に小さなサブセットをセマンティック解析のためのトークンにレックスすることができる必要がある小さなHaskellプロジェクトに取り組んでいます。それは発行されるコマンドよりも多くの異なるエンドエフェクタを持つシステムに対して、非常に純粋な自然言語インターフェイスです。私は現在このためにAlexを使用していますが、Alexはその辞書を静的にコンパイルすることに依存してい

    12

    2答えて

    私は服用しているクラス用のコンパイラを作成しています。クラスは特にハスケルではありませんが、私はコンパイラーとインタプリタを書くのにHaskellを使っています。うまくいけば、私のprofが簡単に実行/コンパイルできるようにcabalパッケージの設定があります。私は両方の実行可能ファイルのbuild-toolsフィールドに幸せとアレックスを持っていますが、Cabalはそれを無視して、HappyとA

    20

    1答えて

    AlexとHappyを使用して小さなコンパイラを書く方法を学んでいます。意味のあるエラーメッセージをユーザーに提供できるように、私のASTノードの行と列の情報を維持したい。どのように私はそれを行う予定かを説明するために、私は小さな例を書いています(下記のコードを参照してください)、私は問題に近づいたかどうかを知りたいと思います(AlexPosnをトークンに付ける、多形属性フィールドをASTノード、

    11

    2答えて

    レクサーと解析フェーズを1つのフェーズで混在させると、Parsecパーサーの読み込みが難しくなることがありますが、それらの処理速度も低下します。 1つの解決策は、Alexをトークナイザとして使用し、次にParsecをトークンストリームのパーサとして使用することです。 これは問題ありませんが、コンパイルパイプラインに1つの前処理フェーズが追加され、haskell "IDEs"などとうまく統合されない

    1

    1答えて

    私は現在、ハッピー&アレックスを使って、おもちゃの言語 のコンパイラのパーサを書いています。任意のレイアウトのオプションが必要なので、私は アレックスの状態をblock非端末に合わせる前に変更しなければなりません。残念ながら ハッピーに必要な先読みトークンが先に読み取られているようです 私はアレックスの状態を変更するチャンスがあります。ここで は、問題を実証する小さなスニペットです: funcDe

    6

    1答えて

    私はAlexとlexersを一般的に理解しようとしていますが、私はレクサーを動かすことに問題があります。 "ベーシック"と "posn"ラッパーにレクサーを書きましたが、 "モナド"ラッパーではできませんでした。文字列とトークンの位置を入力する必要があるので、私はmonadラッパーを使用しなければならないと思います。私も複数の州が必要です。今の私は、この単純なexmapleを実行しようとしている:

    -1

    1答えて

    これを行う方法がわかりません。この操作を実行する方法については、オンライン上のリソースがありません。[注釈] EBNFアノテーション付きのプロダクションルールこれは2つの正規表現の違いで、これを(na | f?)lex文法仕様ルールに変換します[。]問題は、これを正常に行う方法がないことです。[3]このあなたは文脈自由文法に交代で空の一致を使用することができる方法のように、クリーネ代数を使用して[