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
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 zmusić ANTLR do wygenerowania wyjątku NoViableAltException?
Pracuję z antlr 3.2. Mam prostą gramatykę składającą się z atomów (które są znakami „0” lub „1”) i reguły, która gromadzi ich listę oddzieloną przecinkami w formie listy.
Kiedy jako dane wejściowe podaję „00”, nie pojawia się błąd, co mnie...
2705 wyświetlenia
schedule
02.01.2024
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
Czy można przekonwertować gramatykę ANTLR3 na wyrażenie regularne?
Mam prosty analizator gramatyki ANTLR3, który pobiera krótkie wiersze tekstu i konwertuje je na obiekty Java. Następnie mam dużą listę linii tekstu. Część z nich (mniej niż 1%) można przekonwertować, ponieważ odpowiadają one gramatyce.
Muszę...
297 wyświetlenia
schedule
26.01.2024
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
ANTLR i tablice
Mam pytanie dotyczące implementacji tablic za pomocą kombinacji Java + ANTLR. (Mówię głównie o tablicach w stylu Java/C).
Zasadniczo pytam, jak zaimplementować taką funkcję, czy taki przykład jest już dostępny lub czy ktoś mógłby wskazać mi...
1219 wyświetlenia
schedule
26.02.2024
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
Rozszerzanie C# poprzez ANTLR i DLR
Obecnie jestem w trakcie pisania języka programowania, który rozszerza C# głównie poprzez dodanie niestandardowych operatorów i słów kluczowych.
Znalazłem plik gramatyki dla języka C# 4 w http://antlrcsharp.codeplex.com/ , ale nie mogę znaleźć...
398 wyświetlenia
schedule
29.01.2024
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
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
Antlr: Decyzja może pasować do wielu alternatyw (zaczynając od nielegalnego tokena?)
Mam gramatykę w Antlr, aby przeanalizować format pliku, który zapisuję. Podzieliłem gramatykę na część, która nie działa i mam nadzieję, że ktoś może to wyjaśnić. Oto gramatyka:
grammar OptFile;
parseFile returns...
131 wyświetlenia
schedule
25.01.2024
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
Moja prosta gramatyka ANTLR ignoruje pewne nieprawidłowe tokeny podczas analizowania
Kilka tygodni temu zadałem pytanie na temat mojej gramatyki ANTLR ( Moja prosta gramatyka ANTLR nie działa zgodnie z oczekiwaniami ). Odkąd zadałem to pytanie, zacząłem więcej kopać i debugować, dzięki czemu udało mi się rozwiązać większość...
420 wyświetlenia
schedule
27.01.2024
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
Porównanie tokenów wygenerowanych przez antlr
Mam następujące elementy w ramach mojej gramatyki (a tutaj 'name' i 'value' są po prostu statyczne dla uproszczenia, w praktyce tak nie jest):
test4 : 'name' CMPOP 'value';
CMPOP : EQUALS | NOTEQUALS;
EQUALS : '=';
NOTEQUALS...
927 wyświetlenia
schedule
25.02.2024