Все вопросы: [antlr]

87 вопросов

похожие теги:
1
голосов
1ответов
759 просмотров

Допуск неверных операторов с помощью ANTLR (например, для завершения кода)

У меня есть грамматика ANTLR для простого DSL, и все работает без сбоев при отсутствии синтаксических ошибок. Однако теперь мне нужно поддерживать механизм автозаполнения, при котором мне нужно получать возможные дополнения из моих древовидных грамматик, выполняющих базовую проверку типов атрибу...

1
голосов
3ответов
6469 просмотров

Проблема JavaCC - сгенерированный код не находит все ошибки синтаксического анализа

Только что начали с JavaCC. Но у меня с ним странное поведение. Я хочу проверить ввод в виде токенов (букв и цифр), которые объединены знаками (+, -, /) и могут содержать круглые скобки. Надеюсь, это было понятно :) В основном методе есть строка, которая должна вызывать ошибку, потому что у н...

1
голосов
1ответов
376 просмотров

Как сгенерировать вводный распознаватель с помощью ANTLR3C?

Окончательное руководство по ANTLR начинается с простого распознавателя.Дословное использование грамматики для целевой среды выполнения C не удается, потому что '% s' что-то значит для ANTLR: $ cat T.g grammar T; options { language = C; } @parser::includes { #include <std...

4
голосов
4ответов
1839 просмотров

Что случилось с этой грамматикой?

grammar Test; IDHEAD: ('a'..'z' | 'A'..'Z' | '_'); IDTAIL: (IDHEAD | '0'..'9'); ID: (IDHEAD IDTAIL*); fragment TYPE: ('text' | 'number' | 'bool'); define: 'define' ID 'as' TYPE; Проблема в том, что правило define соответствует токенам define, ID, as, но не соответствует TYPE. Я получ...

9
голосов
3ответов
3640 просмотров

Начало работы с ANTLR и предотвращение распространенных ошибок

Я начал изучать ANTLR, и у меня есть книга 2007 года «Окончательная справка по ANTLR» и ANTLRWorks (интерактивный инструмент для создания грамматик). И, будучи таким человеком, я начал с главы 3. («Быстрый экскурс для нетерпеливых»). Это довольно болезненный процесс, тем более что некоторые о...

8
голосов
4ответов
7167 просмотров

ANTLR: проблема "отсутствует доступ к атрибуту в области правила"

Я пытаюсь создать грамматику ANTLR, которая анализирует предложения с тегами, например: DT The NP cat VB ate DT a NP rat и иметь грамматику: fragment TOKEN : (('A'..'Z') | ('a'..'z'))+; fragment WS : (' ' | '\t')+; WSX : WS; DTTOK : ('DT' WS TOKEN); NPTOK : ('NP' WS TOKE...

48
голосов
2ответов
17136 просмотров

Как указать целевой пакет для ANTLR?

Если я позвоню: java org.antlr.Tool -o outdir sources/com/example/Java5.g ... с antlr-3.1.3 код парсера и лексера будет сгенерирован в каталоге outdir/sources/com/example. Но сгенерированные классы не имеют никакого оператора package.Мне они нужны для жизни в упаковке com.example. Есть...

8
голосов
3ответов
13066 просмотров

Как управлять дополнительными пробелами в ANTLR?

Я пытаюсь проанализировать файл данных в ANTLR - в нем есть необязательные пробелы, примером которых является 3 6 97 12 15 18 Ниже показано, где начинается и заканчивается линия. В конце есть новая строка, а вкладок нет. ^ 3 6$ ^ 97 12$ ^ 15 18$ ^ Моя грамматика: lines ...

0
голосов
1ответов
604 просмотров

Проблема с генерацией кода с ANTLR 1.3 / ANTLRWorks

Я загрузил ANTLR 1.3 и ANTLRWorks и могу создавать правила и синтаксические диаграммы. Когда я пытаюсь сгенерировать код (например, с помощью GenerateCode в ANTLRWorks или с java org.antlr.Tool Temp.g, я получаю error(100): C:\temp\Temp.g 0:0: syntax error: codegen: <AST>: 0:0: unexpect...

1
голосов
2ответов
745 просмотров

Есть ли в Antlr механизм, позволяющий лексеру сопоставлять токен только во время определенных правил?

Я хочу добавить ключевое слово к своему языку. Это ключевое слово должно совпадать только с одним конкретным правилом грамматики парсера. Из-за обратной совместимости я хотел бы, чтобы это ключевое слово продолжало использоваться в качестве имени переменной, то есть оно может совпадать с п...

0
голосов
2ответов
932 просмотров

getting user defined error messages using antlr3

numberrange returns [String value] : numberrangesub { String numberRange = ($numberrangesub.text); String [] v = numberRange.split(","); if ( Integer.parseInt(v[0].trim()) < Integer.parseInt(v[1].trim())) $value =numberRange; else throw new Recogni...

1
голосов
1ответов
420 просмотров

Antlr @header declaration for C++ generation

In ANTLR version 2.X you could specify something was to go before or after the ANTLR includes via the code below. header "pre_include_hpp" { #pragma warning( push ) #pragma warning( disable : 4511 ) // couldn't generate copy constructor } header "post_include_hpp" { #pragma warn...

27
голосов
4ответов
2678 просмотров

Where can I find C# 3.0 grammar?

I'm planning to write a C# 3.0 compiler in C#. Where can I get the grammar for parser generation? Preferably one that works with ANTLR v3 without modification.

6
голосов
3ответов
4510 просмотров

Does anyone know of a way to debug tree grammars in ANTLRWorks

The recommended pattern for ANTLR usage is to have the Parser construct an Abstract Syntax Tree, and then build Tree walkers (AKA tree grammars) to process them. I'm trying to get to the bottom of why my tree grammar isn't working and would love to use ANTLRWorks' debugger the same way I used it...

1
голосов
2ответов
1847 просмотров

Conditionals in Antlr String Templates

We are using Antlr StringTemplates to give control over how a Entity's Name is output. The basic Stringtemplate is $FirstName$ $Initial$ $LastName$, $Suffix$, $Degree$ I want to add some smarts to that template so that the commas are only output when necessary i.e. The first comma is...

3
голосов
3ответов
1625 просмотров

ANTLR ambiguous grammar?

I have couple of ANTLR rules that I don't know how to make them work The first rule is: STRING_LITERAL : '"' ( EscapeSequence | ~('\'|'"') )* '"' ; The second rule is: element : name '=' math_formula ; math_formula : '"' expression '"'; The expression is a regu...

0
голосов
1ответов
151 просмотров

Grammar definition needed for problem statement

Hi I have this grammar for now, but when I have after a service, a note. Antlr doesn't want to recognize that it's not the service, but note. And service and note have different structure. How to write this? I'm trying to parse this. but NOTE bla bla; is in service 777014322;O2 Optimum Profi ...

3
голосов
2ответов
1330 просмотров

How to generate JUnit sources using maven-gunit-plugin

I have maven configured to run gunit (an ANTLR grammar unit testing tool) through the maven-gunit-plugin. gunit, however, has two different modes. The first mode causes gunit to act as an interpreter, reading through the *.gunit (or *.testsuite) file, interpreting it, and displaying the results...

3
голосов
3ответов
7910 просмотров

ANTLR Grammar for expressions

I'm trying to implement a expression handling grammar (that deals with nested parenthesis and stuff). I have the following so far, but they can't deal with some cases (successful/failure cases appear after the following code block). Anyone know what's going on? Note: The varname += and varname =...

1
голосов
1ответов
217 просмотров

ANTLR recursive ambiguity problem

VARIABLE: ... UNARYOP: 'not' Expression; // unary operation BINARYOP: 'or' VARIABLE; Expression : (NIL | INTEGER | UNARYOP) BINARYOP?; In the above scenario, 'or' can either be reached through Expression->BINARYOP or EXPRESSION->UNARYOP->Expression->BINARYOP Is there a syste...

10
голосов
2ответов
7987 просмотров

ANTLR Operator Precedence

How is operator precedence implemented in ANTLR? I'm using the XText/Antlr package at the moment. Edit: I did what sepp2k suggested, and operator precedence works now, but stuff like 3 +* also work now. The operators are basically "falling through" the tree. Also, I tried the C grammar on A...

0
голосов
1ответов
206 просмотров

How to 'subtract' lexer rules in ANTLR?

Let's say I have two rules like the below: printable_characters : '\u0020' .. '\uFFEF' ; newline_characters : '\n' | '\r' ; Now let's say that I want to make a new rule called printable_no_newlines. I would like to do this by subtracting newline_characters from printable_characters like so: ...

6
голосов
2ответов
2922 просмотров

How to write an ANTLR parser for JSP/ASP/PHP like languages?

I am new to parser generators and I am wondering how the ANTLR grammar for an embedded language like JSP/ASP/PHP might look like, but unfortunately the ANTLR site doesn't provide any such grammar files. More precisely I don't know exactly how to define an AnyText token which matches everything (...

1
голосов
3ответов
1408 просмотров

Force antlr3 to immediately exit when a rule fails

I've got a rule like this: declaration returns [RuntimeObject obj]: DECLARE label value { $obj = new RuntimeObject($label.text, $value.text); }; Unfortunately, it throws an exception in the RuntimeObject constructor because $label.text is null. Examining the debug output and some other th...

6
голосов
1ответов
3635 просмотров

ANTLR vs. Happy vs. other parser generators

I want to write a translator between two languages, and after some reading on the Internet I've decided to go with ANTLR. I had to learn it from scratch, but besides some trouble with eliminating left recursion everything went fine until now. However, today some guy told me to check out Happy, a...

1
голосов
3ответов
3400 просмотров

Is it possible to successfully merge transitive assembly references with ILMerge?

I'm trying to use ILMerge to internalize some transitively referenced assemblies into an assembly I'm referencing to eliminate conflicts with those transitive dependencies elsehwere in my project. In particular, I'm referencing Antlr3.StringTemplate (hereafter referred to as AS, available here: ...

1
голосов
1ответов
869 просмотров

RegEx or Antlr, which one should be the choice?

We have been using regex for our grammar requirement. However there are about 20+ patterns that needs to be supported and maintaining RegEx has become very difficult when the patterns started becoming recursive. We tried migrating to ANTLR, and looked at the following two critical points required...

9
голосов
4ответов
1788 просмотров

Parsing CSS with ANTLR - edge cases

I'm trying to parse CSS, or at least the basics, using ANTLR. I'm running into a few problems with my lexer rules though. The problem lies in the ambiguity between an ID selectors and hexadecimal color values. Using a simplified grammar for clarity, consider the following input: #bbb { color: ...

9
голосов
3ответов
4047 просмотров

Building own C# compiler using ANTLR: Compilation Unit

// Create a scanner that reads from the input stream passed to us CSLexer lexer = new CSLexer(new ANTLRFileStream(f)); tokens.TokenSource = lexer; // Create a parser that reads from the scanner CSParser parser = new CSParser(tokens); // start parsing at the compilationUnit rule CSParser.compil...

1
голосов
1ответов
1696 просмотров

Antlr tree rewrite rules

I'm trying to parse an expression like a IN [3 .. 5[, where the direction of the angle brackets determine whether the interval is inclusive or exclusive. I want this to be rewritten to an AST like NODE-TYPE | +------------+-----------+ | | ...