問題タブ [yecc]
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.
compiler-construction - Erlang VM 用にコンパイルする方法
アプリケーションでユーザー スクリプト用の小さな記述言語を実装しようとしています。基本的に、ユーザーはオブジェクトが他のオブジェクトからどのように作成されるかを記述します。(実際にはプログラミング言語ではありません)。JSON も使用できます (ただし、より冗長になります)。
私は leex と yecc を使用しており、まともな解析ツリーを持っています。次のようなものだとします。
このツリーを使用して、次のようなものを構築したいと思います。
しかし、どこから始めればよいかわかりません。実行時にツリーを読み取ってファンを構築することはできますが、コンパイル方法を学びたい (そしてパフォーマンスが向上することを願っています)。
解析ツリーを Erlang AST に変換してから、erlang モジュールをコンパイルする必要がありますか?
ありがとう。
parsing - YECC を使用したインデント ベースの構文 (Python など) の解析
次のコードがあります。
私のカスタム トークナイザーは次のように変換されます。
しかし、次の Yecc では解析できません。
次の出力が得られます。
どんな助けでも大歓迎です、ありがとう。
erlang - Yecc と Leex の動作に問題がある
次のようにフォーマットされた文字列を取る非常に単純なDSLを作成しようとしています
そして、それを次のようなものに変えます
私のLeexファイルはこれです:
そして、私の Yecc ファイルは次のようになります。
私がこれで得ている出力:
erlang - {:error, {:undefined, :standard_syntax_parser, ['前の構文エラー: ', []]}}
だから私はyeccを使おうとしています。
入力の場合:
私は得る
string_content を囲む (左または右の) string_delimiter を削除すると、次のようになります。
為に
戻ります
この動作がよくわかりません。問題はどこにありますか?