問題タブ [javacc]
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.
linux - javaccで「Rational」トークンを更新して出力するにはどうすればよいですか?
JavaCC パーサーで有理数を認識する新しいトークン RATIONAL を追加しました。プログラムの出力部分を更新して、有理数の数値を出力するにはどうすればよいですか?
たとえば、('2/5') 値 = 0.4、('8/2') 値 = 4.0、('4/0') 値 = 無限大です。
誰かが私を助けることができれば、私は感謝します。ありがとう。
java - 複数のXMLドキュメントに複数のxpathクエリを適用するルールを解釈します
入力にいくつかのXMLドキュメントを取り、次の種類のルールをチェックするコンポーネントを構築する必要があります。
基本的に、私のコンポーネントは次のことができるはずです。
- XMLトークンを対応するXMLドキュメント(コロンの前)に置き換えます
- このXMLドキュメントにxpathクエリを適用します
- xpath出力を期待される結果と照合します( "="、 "!="、 "contains")
- 基本構文に従います(「and」、「or」および括弧)
- ルールが正しいか間違っているかを教えてください
私を助けることができる図書館を知っていますか?多分JavaCC?
ありがとう
.net - .NET の JavaCC?
私は大学での課題のために JavaCC パーサーの生成に時間を費やしていましたが、.NET 用の同様の単純なパーサー ジェネレーター フレームワークが利用可能かどうか疑問に思っていました。
ANTLR があることは知っていますが、私の好みには少し大きすぎることがわかり、JavaCC がもたらすシンプルさが本当に好きになりました..
挨拶ダニエル
java - JavaCC:「実際の」例へのリンクを教えてください
ここにJavaCCパーサーの例がたくさんあることは知っていますが、それらはすべて何もしません。文字列を受け入れるか、解析エラーを生成します。
私が必要としているのは、実際に構文解析中に何かを行う実際のパーサーのいくつかの例です。(XML文字列の解析中にDOMツリーを構築するなど)。
助けてください!;)
java - JavaCC: 特定のコンテキストで期待されるトークンを指定するにはどうすればよいですか?
JavaCC にコンテキスト (現在の親トークン) を認識させる必要があり、そのコンテキストに応じて、異なるトークンが発生することを期待します。
次の擬似コードを検討してください。
したがって、生成されたパーサーが という名前のトークンの「内部」にある場合、それは として認識されます"element1"
が、それが「内部」という名前のトークンの場合、 と同じ文字列を認識します。"abcdef"
<abc>
"element2"
<abcd>
私が間違っていなければ、XML ファイルのより複雑な DTD 定義と同様に動作します。
では、どの「コンテキスト」でどのトークンが有効/期待されるかをどのように指定できますか?
注:私の実際のケースでは、トークンの一種の「階層」を定義するだけでは十分ではない<abcd>
ため、「abcdef」は常にand よりも最初に照合され<abc>
ます。コンテキスト認識トークンが本当に必要です。
java - JavaCC: 生成されたボイラープレート クラスをパッケージ プライベートにするにはどうすればよいですか?
SUPPORT_CLASS_VISIBILITY_PUBLIC = false;
ファイル内でオプションを指定できることは知ってい.jj
ます。ただし、これにより、生成されたクラス自体のみがパッケージ プライベートになります。
「ボイラープレート」クラス ( などParseException
) はまだ公開されています。java.text.ParseException
私はAPIの公開に使用しているので、これは非常に面倒です。
ボイラープレートクラスもパッケージプライベートにする方法はありますか?
java - Java、JavaCC: BMP 外の文字を解析するには?
XML 1.1仕様を参照しています。
の定義を見てくださいNameStartChar
:
NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
これを正しく解釈すると、最後の範囲 ( ) はJava の型のUTF16 範囲#x10000-#xEFFFF
を超えています。だからそれはUTF32でなければなりませんよね?では、単一の sではなく、この範囲に対してのペアをチェックする必要がありますよね?char
char
char
私の質問は次のとおりです。
- 標準の Java メソッドを使用して、このような文字範囲を確認するにはどうすればよいですか?
- JavaCCでそのような範囲を定義するにはどうすればよいですか?
- JavaCC は
\u10000
、\uEFFFF
- JavaCC は
ありがとうございました!
注: 心配しないでください。私は独自の XML パーサーを作成しようとしているわけではありません。
編集: パーサーを作成しています。パーサーは、さまざまな (非 XML) テキスト形式からのテキスト入力が有効な XML 名と一致するかどうかをチェックします。
xml - JavaCC: トークンから文字列を除外するにはどうすればよいですか? (別名、トークンのあいまいさを理解する。)
私は、あいまいなトークンをJavaCCでエレガントに(または何らかの形で)処理する方法を理解する上で、すでに多くの問題を抱えていました。この例を見てみましょう:
XML処理命令をパースしたい。
形式は次のとおりです: :は"<?" <target> <data> "?>"
XML名target
です。data
?>
それでは、JavaCC でこれを定義しましょう:
(この場合は語彙状態を使用しDEFAULT
、PROC_INST
)
処理命令を認識する部分:
でテストしましょう<?mytarget here-goes-some-data?>
:
ターゲットが認識されました: "target: mytarget"
。しかし今、お気に入りのJavaCC 解析エラーが発生します。
何も遭遇しませんでしたか?何も期待していませんでしたか?または何?ありがとう、JavaCC!
JavaCCのキーワードを使用できることはわかっていますMORE
が、これにより処理命令全体が1つのトークンとして提供されるため、自分でさらに解析/トークン化する必要がありました。なぜそれをすべきなのか?解析しないパーサーを書いていますか?
問題は(私が推測する)です:したがって<PI_DATA>
、「すべて」を認識します。私の定義は間違っています。JavaCC に「」以外のすべてを?>
処理命令データとして認識するように指示する必要があります。
しかし、どうすればそれを行うことができますか?
注: を使用して単一の文字のみを除外できます。またはなどの文字列を除外することはできません。JavaCC のもう 1 つの優れたアンチ機能です。~["a"|"b"|"c"]
~["abc"]
~["?>"]
ありがとうございました。
ruby - ruby でパーサーを作成するのに最適な ANTLR の対応物はどれですか?
しばらくの間、antlr と javacc/freecc を使用してきました。ここで、antlr 文法を使用して多数のパーサーを作成する必要がありますが、そのようなパーサーは ruby lang で作成する必要があります。
私はグーグルで検索しましたが、何も見つかりませんでした。Antlr文法を使用してパーサーを作成するRubyパーサージェネレーターはありますか? たくさんあるとしたら、どれが一番いいと思いますか?
ティア・パオロ
java - Debianのjava.io
Javaプログラムをコンパイルしようとしましたが、コードのインポートセクションで失敗しました:
LinuxのDebianマシンで問題を解決するにはどうすればよいですか?ありがとう