Powiązane publikacje 'antlr'
Uzupełnianie SQL. Część 1: Trudności z parsowaniem lub opowieściami o polerowaniu ANTLR
Pracuję dla firmy, która opracowuje interakcję IDE do bazy danych od ponad pięciu lat. Zanim zacząłem pisać ten artykuł, nie miałem pojęcia, ile bajek czeka na mnie. Tak więc po zrobieniu 30 stron postanowiłem pogrupować bajki tematycznie i podzielić artykuł na kilka części.
Wstęp
W trakcie publikowania części dodam odpowiednie linki:
Część 1. Uzupełnianie SQL. Część 1. Problemy z analizowaniem. Opowieści o polerowaniu ANTLR. Część 2. Optymalizacja przetwarzania ciągów i..
Powiązane pytania 'antlr'
Problem JavaCC - Wygenerowany kod nie znajduje wszystkich błędów analizy
Właśnie zacząłem z JavaCC. Ale mam z tym dziwne zachowanie. Chcę zweryfikować dane wejściowe w postaci tokenów (liter i cyfr), które są połączone ze znakami (+, -, /) i mogą zawierać nawiasy. Mam nadzieję, że to było zrozumiałe :)
W głównej...
6890 wyświetlenia
schedule
21.08.2022
ANTLR nie pasuje do znaku ucieczki Unicode
Piszę parser/interpreter dla języka podobnego do C i muszę zinterpretować znaki ucieczki. Jednym z nich jest sekwencja unicode z tym wzorcem „\uXXXX”, gdzie X jest liczbą szesnastkową.
Moje zasady ANTLR wyglądają tak:
public char returns [char...
366 wyświetlenia
schedule
03.09.2022
Jak używać tekstu do nowej linii w ANTLR?
Jak zrobić coś takiego z ANTLR?
Przykładowe dane wejściowe:
title: hello world
Gramatyka:
header : IDENT ':' REST_OF_LINE ;
IDENT : 'a'..'z'+ ;
REST_OF_LINE : ~'\n'* '\n' ;
Nie powiedzie się, z line 1:0 mismatched input 'title:...
1959 wyświetlenia
schedule
11.07.2022
enterDecision(int) w typie DebugEventListener nie dotyczy argumentów (int, boolean)?
Używam ANTLR 3.1.3 do generowania parsera. Po zaimportowaniu wygenerowanego testParsera znalazłem kilka błędów takich jak
spróbuj { dbg.enterDecision(2,decyzjaCanBacktrack[2]);
Opis Ścieżka zasobu Lokalizacja Typ Metoda enterDecision(int) w...
212 wyświetlenia
schedule
27.06.2022
Jak uzyskać tekst reguły leksera?
Mam regułę Antlr Grammar Lexer W ten sposób,
Letter
: '\u0024' | '\u005f'|
'\u0041'..'\u005a' | '\u0061'..'\u007a' |
'\u00c0'..'\u00d6' | '\u00d8'..'\u00f6' |
'\u00f8'..'\u00ff' | '\u0100'..'\u1fff' |...
141 wyświetlenia
schedule
10.09.2022
ANTLR: Różnica między cofaniem się a wybieganiem w przyszłość?
Jestem stosunkowo nowy w ANTLR. Mam bardzo prostą gramatykę:
start :
('A' 'B' 'C' '1'
|'A' 'B' 'C' '2'
|'A' 'B' 'C' '3'
)
;
Myślę, że rozumiem już podstawy koncepcji patrzenia w przód i wycofywania (która działa z predykatami...
3198 wyświetlenia
schedule
13.09.2022
Przewidywanie i zakres DFA
Zaczynając od tej gramatyki: https://stackoverflow.com/a/14287002/1082002 zrealizowałbym prostą gramatykę, która akceptuje i ocenia prosty język, taki jak ten:
{
if a==c {
a
if a==b {
b
} else {
c...
259 wyświetlenia
schedule
21.07.2022
schedule
12.11.2022
jaka jest prawidłowa reguła lexer komentarza antlr, aby wykluczyć ampersand, ale tylko wtedy, gdy jest na końcu?
Potrzebuję reguły leksera dla komentarza, który nie zawiera znaku „&” na końcu wiersza.
„&” jest kontynuacją wiersza, ale jest również poprawnym znakiem w środku komentarza.
Oto moja gramatyka:
grammar Test;
begin
: line+
;
line...
221 wyświetlenia
schedule
02.07.2022
jak wstawić tokeny lub konteksty w mojej klasie słuchacza w antlr4?
Mam plik gramatyki antlr4, który analizuje język BASIC. Czy istnieje sposób na wstawienie większej ilości kodu w mojej rozszerzonej klasie baseListener?
Na przykład, jeśli parsuję ten kod:
10 print "hello world"
%include "moreCode.bas"...
611 wyświetlenia
schedule
23.07.2022
ANTLR Gramatyka Wzajemnie lewostronna rekurencyjna
Wiem, że to pytanie było zadawane wiele razy. Próbuję zbudować gramatykę za pomocą ANTLR.
Predicate : LOWERCASE | Predicate VarChars ;
VarChars : LOWERCASE | UPPERCASE;
fragment LOWERCASE : [a-z] ;
fragment UPPERCASE...
153 wyświetlenia
schedule
09.09.2022
Problem z białymi znakami i literałami int / operatorami binarnymi
Staram się napisać gramatykę, która pozwala na
Liczby całkowite ze znakiem (tzn. liczby całkowite ze znakiem lub bez; 3 , -2 , +5 )
Jednoargumentowy minus ( - )
Dodawanie i odejmowanie binarne ( + , - )
Oto odpowiednia gramatyka:...
24 wyświetlenia
schedule
07.08.2022
antlr4: zmiany kolejności operatorów
Mam pytanie dotyczące antlr4 i pierwszeństwa jego tokenów. Mam następującą gramatykę:
grammar TestGrammar;
@header {
package some.package;
}
fragment A : ('A'|'a') ;
fragment E : ('E'|'e') ;
fragment F : ('F'|'f') ;
fragment L : ('L'|'l') ;...
123 wyświetlenia
schedule
07.07.2022
Leksing ANTLR jest mylony z „” i pływakami
Myślę, że leksyk ANTLR traktuje moją próbę wyrażenia zakresu "1...3" jako liczbę zmiennoprzecinkową. Wyrażenie "x={1...3}" wychodzi z leksykonu jako "x={.3}" , gdy użyłem następujących definicji tokenów:
FLOAT
: ('0'..'9')+ ('.'...
569 wyświetlenia
schedule
26.10.2023
Analizowanie wyrażeń z podwyrażeniami w ANTLR
Próbuję analizować wyrażenia rekurencyjne w ANTLR, takie jak:
(a + (b + C))
or
((a + b))
Przeczytałem to rzekome rozwiązanie: Gramatyka ANTLR dla wyrażeń
Jednak gdy próbuję utworzyć regułę taką jak:
ParenthesisExpression:...
419 wyświetlenia
schedule
24.10.2023
Przedrostek karetki zamiast postfiksu w antlr
Wiem, co oznacza postfix daszka w antlr (tj. tworzy root), ale co się stanie, gdy daszek jest przedrostkiem, jak w poniższej gramatyce, którą czytałem (ta gramatyka jest zupełnie nowa i została opracowana przez nowy zespół uczący się antlr). .....
1559 wyświetlenia
schedule
28.10.2022
Konsumpcja znaków w analizie leksykalnej
Jeśli mam podregulę podobną do poniższej:
.. (~']' ~']')* ...
czy będzie pasować tylko parzysta liczba znaków?
59 wyświetlenia
schedule
30.10.2023
Jak zdobyć IParseTree w ANTLR4?
Obecnie używam ANTLR4 w C#, ale mam problem, nie wiem, jak uzyskać obiekt/klasę IParseTree.
Uważam, że w języku C# w pełni kwalifikowana nazwa to Antlr4.Runtime.Tree.IParseTree , ale jak zdobyć obiekt?
AntlrInputStream inputStream = new...
1203 wyświetlenia
schedule
16.11.2022
Antlr niedopasowany „›” dla makra dołączanego
Zacząłem pracować z antlr kilka dni temu. Chciałbym go użyć do analizy #include makr w c. Interesuje mnie tylko to, wszystkie inne części są nieistotne. tutaj napisałem prosty plik gramatyczny:
... parser part omitted...
INCLUDE : '#include';...
48 wyświetlenia
schedule
09.11.2022
Wzajemnie lewostronnie rekurencyjne?
Pracuję nad parserem gramatyki w ANTLR. Obecnie pracuję nad wyrażeniami, w których () ma najwyższy priorytet, a następnie Unary Minus itp.
Kiedy dodam linię ANTLR daje błąd: Następujące zestawy reguł są wzajemnie lewostronnie rekurencyjne [add,...
707 wyświetlenia
schedule
08.10.2022