問題タブ [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.

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

linux - javaccで「Rational」トークンを更新して出力するにはどうすればよいですか?

JavaCC パーサーで有理数を認識する新しいトークン RATIONAL を追加しました。プログラムの出力部分を更新して、有理数の数値を出力するにはどうすればよいですか?

たとえば、('2/5') 値 = 0.4、('8/2') 値 = 4.0、('4/0') 値 = 無限大です。

誰かが私を助けることができれば、私は感謝します。ありがとう。

0 投票する
2 に答える
332 参照

java - 複数のXMLドキュメントに複数のxpathクエリを適用するルールを解釈します

入力にいくつかのXMLドキュメントを取り、次の種類のルールをチェックするコンポーネントを構築する必要があります。

基本的に、私のコンポーネントは次のことができるはずです。

  • XMLトークンを対応するXMLドキュメント(コロンの前)に置き換えます
  • このXMLドキュメントにxpathクエリを適用します
  • xpath出力を期待される結果と照合します( "="、 "!="、 "contains")
  • 基本構文に従います(「and」、「or」および括弧)
  • ルールが正しいか間違っているかを教えてください

私を助けることができる図書館を知っていますか?多分JavaCC?

ありがとう

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

.net - .NET の JavaCC?

私は大学での課題のために JavaCC パーサーの生成に時間を費やしていましたが、.NET 用の同様の単純なパーサー ジェネレーター フレームワークが利用可能かどうか疑問に思っていました。

ANTLR があることは知っていますが、私の好みには少し大きすぎることがわかり、JavaCC がもたらすシンプルさが本当に好きになりました..

挨拶ダニエル

0 投票する
4 に答える
14393 参照

java - JavaCC:「実際の」例へのリンクを教えてください

ここにJavaCCパーサーの例がたくさんあることは知っていますが、それらはすべて何もしません。文字列を受け入れるか、解析エラーを生成します。

私が必要としているのは、実際に構文解析中に何かを行う実際のパーサーのいくつかの例です。(XML文字列の解析中にDOMツリーを構築するなど)。

助けてください!;)

0 投票する
2 に答える
4761 参照

java - JavaCC: 特定のコンテキストで期待されるトークンを指定するにはどうすればよいですか?

JavaCC にコンテキスト (現在の親トークン) を認識させる必要があり、そのコンテキストに応じて、異なるトークンが発生することを期待します。

次の擬似コードを検討してください。

したがって、生成されたパーサーが という名前のトークンの「内部」にある場合、それは として認識されます"element1"が、それが「内部」という名前のトークンの場合、 と同じ文字列を認識します。"abcdef"<abc>"element2"<abcd>

私が間違っていなければ、XML ファイルのより複雑な DTD 定義と同様に動作します。

では、どの「コンテキスト」でどのトークンが有効/期待されるかをどのように指定できますか?

注:私の実際のケースでは、トークンの一種の「階層」を定義するだけでは十分ではない<abcd>ため、「abcdef」は常にand よりも最初に照合され<abc>ます。コンテキスト認識トークンが本当に必要です。

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

java - JavaCC: 生成されたボイラープレート クラスをパッケージ プライベートにするにはどうすればよいですか?

SUPPORT_CLASS_VISIBILITY_PUBLIC = false;ファイル内でオプションを指定できることは知ってい.jjます。ただし、これにより、生成されたクラス自体のみがパッケージ プライベートになります。

「ボイラープレート」クラス ( などParseException) はまだ公開されています。java.text.ParseException私はAPIの公開に使用しているので、これは非常に面倒です。

ボイラープレートクラスもパッケージプライベートにする方法はありますか?

0 投票する
2 に答える
1495 参照

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ではなく、この範囲に対してのペアをチェックする必要がありますよね?charcharchar

私の質問は次のとおりです。

  • 標準の Java メソッドを使用して、このような文字範囲を確認するにはどうすればよいですか?
  • JavaCCでそのような範囲を定義するにはどうすればよいですか?
    • JavaCC は\u10000\uEFFFF

ありがとうございました!

注: 心配しないでください。私は独自の XML パーサーを作成しようとしているわけではありません。
編集: パーサーを作成しています。パーサーは、さまざまな (非 XML) テキスト形式からのテキスト入力が有効な XML 名と一致するかどうかをチェックします。

0 投票する
2 に答える
3672 参照

xml - JavaCC: トークンから文字列を除外するにはどうすればよいですか? (別名、トークンのあいまいさを理解する。)

私は、あいまいなトークンをJavaCCでエレガントに(または何らかの形で)処理する方法を理解する上で、すでに多くの問題を抱えていました。この例を見てみましょう:

XML処理命令をパースしたい。

形式は次のとおりです: :"<?" <target> <data> "?>"XML名targetです。data?>

それでは、JavaCC でこれを定義しましょう:
(この場合は語彙状態を使用しDEFAULTPROC_INST)

処理命令を認識する部分:

でテストしましょう<?mytarget here-goes-some-data?>

ターゲットが認識されました: "target: mytarget"。しかし今、お気に入りのJavaCC 解析エラーが発生します。

何も遭遇しませんでしたか?何も期待していませんでしたか?または何?ありがとう、JavaCC!

JavaCCのキーワードを使用できることはわかっていますMOREが、これにより処理命令全体が1つのトークンとして提供されるため、自分でさらに解析/トークン化する必要がありました。なぜそれをすべきなのか?解析しないパーサーを書いていますか?

問題は(私が推測する)です:したがって<PI_DATA>、「すべて」を認識します。私の定義は間違っています。JavaCC に「」以外のすべてを?>処理命令データとして認識するように指示する必要があります。

しかし、どうすればそれを行うことができますか?

注: を使用して単一の文字のみを除外できます。またはなどの文字列を除外することはできません。JavaCC のもう 1 つの優れたアンチ機能です。~["a"|"b"|"c"]~["abc"]~["?>"]

ありがとうございました。

0 投票する
3 に答える
2682 参照

ruby - ruby でパーサーを作成するのに最適な ANTLR の対応物はどれですか?

しばらくの間、antlr と javacc/freecc を使用してきました。ここで、antlr 文法を使用して多数のパーサーを作成する必要がありますが、そのようなパーサーは ruby​​ lang で作成する必要があります。

私はグーグルで検索しましたが、何も見つかりませんでした。Antlr文法を使用してパーサーを作成するRubyパーサージェネレーターはありますか? たくさんあるとしたら、どれが一番いいと思いますか?

ティア・パオロ

0 投票する
3 に答える
618 参照

java - Debianのjava.io

Javaプログラムをコンパイルしようとしましたが、コードのインポートセクションで失敗しました:

LinuxのDebianマシンで問題を解決するにはどうすればよいですか?ありがとう