タグ付けされた質問 「antlr」

5
レクサー対パーサー
レクサーとパーサーは、理論的には本当に違いますか? 正規表現を嫌うのはおしゃれなようです。コーディングホラー、別のブログ投稿。 ただし、人気のある字句ベースのツールであるpygments、geshi、またはprettifyはすべて正規表現を使用します。彼らは何かを語っているようです... 字句解析が十分な場合、EBNFはいつ必要ですか? これらのレクサーによって生成されたトークンをバイソンまたはアントラーパーサージェネレーターで使用した人はいますか?
308 parsing  antlr  lexer  pygments 

5
ANTLR:簡単な例はありますか?
ANTLRを使い始めたいのですが、数時間かけて、 antlr.orgの確認しましたサイトで Javaプロセスの文法を明確に理解できません。 ANTLRで実装された4つの演算の計算機のように、パーサー定義を通過してJavaソースコードに至るまでの簡単な例はありますか?
230 java  antlr  antlr4  antlr3 

7
文字列を同等のLINQ式ツリーに変換する方法は?
これは、元の問題を簡略化したバージョンです。 Personというクラスがあります。 public class Person { public string Name { get; set; } public int Age { get; set; } public int Weight { get; set; } public DateTime FavouriteDay { get; set; } } ...そしてインスタンスを言うことができます: var bob = new Person { Name = "Bob", Age = 30, Weight = …
173 c#  lambda  antlr  dsl  predicate 

5
Antlrの利点(対して、lex / yacc / bison)[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 この質問を改善する 過去には、さまざまなプロジェクト、通常はトランスレータ(EDAアプリにストリーミングされるEDIFのサブセットなど)にlexとyacc(通常はbison)を使用しました。さらに、何十年も前のlex / yacc文法に基づくコードをサポートする必要がありました。私は専門家ではありませんが、ツールの使い方を知っています。 私は過去にさまざまなフォーラムでAntlrについて肯定的なコメントを見てきましたが、何が欠けているのか知りたいです。両方を使用したことがある場合は、Antlrの優れている点と進んだ点を教えてください。私の現在の制約は、C ++ショップで作業することであり、出荷する製品にはJavaが含まれていないため、結果のパーサーはそのルールに従う必要があります。
143 c++  antlr  yacc  bison 



1
入れ子関数のビジターパターンを実装する方法
私はAntlrの初心者であり、Antlr4を使用して以下の実装を実行したかったのです。以下の機能を持っています。 1. FUNCTION.add(Integer a,Integer b) 2. FUNCTION.concat(String a,String b) 3. FUNCTION.mul(Integer a,Integer b) そして、私はこのような関数のメタデータを保存しています。 Map<String,String> map=new HashMap<>(); map.put("FUNCTION.add","Integer:Integer,Integer"); map.put("FUNCTION.concat","String:String,String"); map.put("FUNCTION.mul","Integer:Integer,Integer"); 、どこInteger:Integer,Integerを表すInteger戻り値の型があり、入力はaccesptsが機能しているだろうparamsはInteger,Integer。 入力がこのようなものである場合 FUNCTION.concat(Function.substring(String,Integer,Integer),String) or FUNCTION.concat(Function.substring("test",1,1),String) ビジター実装を使用して、マップに格納されている関数メタデータに対して入力が検証されるかどうかを確認したいと思いました。 以下は、私が使用しているレクサーとパーサーです。 レクサーMyFunctionsLexer.g4: lexer grammar MyFunctionsLexer; FUNCTION: 'FUNCTION'; NAME: [A-Za-z0-9]+; DOT: '.'; COMMA: ','; L_BRACKET: '('; R_BRACKET: ')'; パーサーMyFunctionsParser.g4: parser grammar MyFunctionsParser; options { tokenVocab=MyFunctionsLexer; …
8 java  antlr  antlr4 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.