問題タブ [ometa]

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 投票する
2 に答える
4127 参照

parsing - オメタの特別なところは何ですか?

Ometaは「パターン マッチング用の新しいオブジェクト指向言語」です。Lexx/Yacc や Pyparsing などの文法を解析するための Oz ツールなどの言語で、パターン マッチングに遭遇したことがあります。サンプル コードを見たり、ディスカッションを読んだり、友人と話したりしても、Ometa が特別な理由 (または、少なくとも一部の人々がそれをそう考える理由) を理解することはできません。説明はありますか?

0 投票する
1 に答える
222 参照

parsing - 単語を OMetaJS と一致させるにはどうすればよいですか?

私はOMeta/JSを使用して OMeta を学習しようとしてきましたが、本当に単純であるべき何かに行き詰まっているようです。文法があれば

期待される出力を生成します

私も使える

生産する

しかし、使用して単語全体を解析しようとすると

エラーが発生する

私は何を誤解していますか? また、W2 グラマーが「hi」を出力するように修正するにはどうすればよいですか?

0 投票する
1 に答える
209 参照

javascript - ometa-jsの使い方

たとえば、サンプルを実行する方法を誰でも説明できますか?

github から ometa-js 担当者をダウンロードして index.htm を開くと、エラーが発生します。http://www.tinlizzie.org/ometa-jsでホストされているバージョンでは、何かを行うたびにソースコード内にエラーが表示されます。

// 単純なレコグナイザーで、有用な値は生成されません

ometa L { 数値 = 桁 +、addExpr = addExpr '+' mulExpr | addExpr '-' mulExpr | mulExpr、mulExpr = mulExpr '*' primExpr | mulExpr '/' primExpr | primExpr, primExpr = '(' expr ')' | 数、expr = addExpr }

L.matchAll('6*(4+3)', 'expr')

0 投票する
1 に答える
955 参照

glob - ファイル パス ワイルドカード (グロブ) の BNF 文法定義

BFN ルールで記述された、広く拡張された方言 (このhttps://github.com/vmeurisse/wildmatch + globstar ** など) を探しています。

任意の形式または言語で。OMeta または PEG が最適です。