Publicații conexe 'antlr'


Completarea SQL. Partea 1: Dificultățile cu analizarea sau poveștile lustruirii ANTLR
Lucrez pentru o companie care dezvoltă interacțiuni „IDE-uri pentru baze de date” de mai bine de cinci ani. Înainte de a începe să scriu acest articol, habar nu aveam câte povești fanteziste vor avea în față. Astfel, după ce am făcut 30 de pagini din ea, am decis să grupez poveștile tematic și să împart articolul în mai multe părți. Introducere Pe parcursul publicării părților, voi adăuga link-urile corespunzătoare: Partea 1. Complementarea SQL. Partea 1. Analiza..

Întrebări înrudite 'antlr'

Problemă JavaCC - Codul generat nu găsește toate erorile de analiză
Tocmai am început cu JavaCC. Dar am un comportament ciudat cu el. Vreau să verific intrarea sub formă de jetoane (litere și numere) care sunt concatenate cu semne (+, -, /) și care pot conține paranteze. Sper ca a fost de inteles :) În metoda...
6890 vederi
schedule 21.08.2022

ANTLR nu se potrivește cu caracterul unicode scapat
Scriu un parser/interpret pentru un limbaj asemănător C și trebuie să interpretez caracterele escape. Una dintre ele este secvența de escape Unicode cu acest model „\uXXXX” unde X este un număr hexadecimal. Regulile mele ANTLR arată astfel:...
366 vederi
schedule 03.09.2022

Cum se consumă text până la noua linie în ANTLR?
Cum faci așa ceva cu ANTLR? Exemplu de intrare: title: hello world Gramatică: header : IDENT ':' REST_OF_LINE ; IDENT : 'a'..'z'+ ; REST_OF_LINE : ~'\n'* '\n' ; Eșuează, cu line 1:0 mismatched input 'title: hello world\n'...
1959 vederi
schedule 11.07.2022

enterDecision(int) din tipul DebugEventListener nu este aplicabil pentru argumentele (int, boolean)?
Folosesc ANTLR 3.1.3 pentru a genera analizatorul. După importarea testParser-ului generat, am descoperit că există mai multe erori, cum ar fi încercați { dbg.enterDecision(2, decisionCanBacktrack[2]); Descriere Calea resursei Tip locație...
212 vederi
schedule 27.06.2022

Cum să obțineți textul unei reguli Lexer
Am o regulă Antlr Grammar Lexer ca aceasta, Letter : '\u0024' | '\u005f'| '\u0041'..'\u005a' | '\u0061'..'\u007a' | '\u00c0'..'\u00d6' | '\u00d8'..'\u00f6' | '\u00f8'..'\u00ff' | '\u0100'..'\u1fff' |...
141 vederi
schedule 10.09.2022

ANTLR: Diferența dintre backtrack și look-ahead?
Sunt relativ nou la ANTLR. Am o gramatica foarte usoara: start : ('A' 'B' 'C' '1' |'A' 'B' 'C' '2' |'A' 'B' 'C' '3' ) ; Cred că am înțeles deja elementele de bază ale conceptului de a privi înainte și înapoi (care funcționează cu...
3198 vederi
schedule 13.09.2022

Previziunea DFA și domeniul de aplicare
Pornind de la această gramatică: https://stackoverflow.com/a/14287002/1082002 aș realiza o gramatică simplă care acceptă și evaluează limbajul simplu astfel: { if a==c { a if a==b { b } else { c...
259 vederi
schedule 21.07.2022

Multumesc, foarte apreciat
516 vederi
schedule 12.11.2022

care este regula corectă a antlr comment lexer pentru a exclude ampersand, dar numai dacă este la sfârșit?
Am nevoie de o regulă lexer pentru un comentariu care nu include „&” la sfârșitul unui rând. „&” este o continuare a rândului, dar este și un caracter valid în mijlocul unui comentariu. Iată gramatica mea: grammar Test; begin : line+...
221 vederi
schedule 02.07.2022

cum să inserez jetoane sau contexte în clasa mea de ascultător în antlr4
Am un fișier de gramatică antlr4 care analizează un limbaj BASIC. Există o modalitate de a insera mai mult cod în clasa mea extinsă baseListener? De exemplu, dacă analizez acest cod: 10 print "hello world" %include "moreCode.bas" print...
611 vederi
schedule 23.07.2022

ANTLR Gramatică stânga reciprocă recursiv
Știu că această întrebare a fost pusă de multe ori. Încerc să construiesc o gramatică folosind ANTLR. Predicate : LOWERCASE | Predicate VarChars ; VarChars : LOWERCASE | UPPERCASE; fragment LOWERCASE : [a-z] ; fragment...
153 vederi
schedule 09.09.2022

Problemă cu spații albe și int literale / operatori binari
Încerc să scriu o gramatică care să permită Numere întregi cu semn (adică numere întregi cu sau fără semn; 3 , -2 , +5 ) Minus unar ( - ) Adunarea și scăderea binară ( + , - ) Iată gramatica relevantă: expr: INTLITER |...
24 vederi
schedule 07.08.2022

antlr4: se modifică prioritatea operatorului
Am o întrebare cu privire la antlr4 și la prioritatea simbolurilor sale. Am urmatoarea gramatica: grammar TestGrammar; @header { package some.package; } fragment A : ('A'|'a') ; fragment E : ('E'|'e') ; fragment F : ('F'|'f') ; fragment L :...
123 vederi
schedule 07.07.2022

ANTLR lexing se confundă cu „” și plutește
Cred că lexerul ANTLR tratează încercarea mea de a o expresie de interval "1...3" ca pe un float. Expresia "x={1...3}" iese din lexer ca "x={.3}" când am folosit următoarele definiții de simbol: FLOAT : ('0'..'9')+ ('.' '0'..'9'+)?...
569 vederi
schedule 26.10.2023

Analizarea expresiilor cu subexpresii în ANTLR
Încerc să analizez expresii recursive în ANTLR, cum ar fi: (a + (b + C)) or ((a + b)) Am citit această presupusă soluție: ANTLR Grammar for expressions Cu toate acestea, când încerc să creez o regulă precum:...
419 vederi
schedule 24.10.2023

prefix caret în loc de postfix în antlr
Știu ce înseamnă postfixul caret în antlr (adică faceți rădăcină), dar ce zici când caret este prefixul ca în următoarea gramatică pe care am citit-o (această gramatică este nouă și realizată de o nouă echipă care învață antlr). .. selectClause...
1559 vederi
schedule 28.10.2022

Consumul de caractere în analiza lexicală
Dacă am o subregulă ca următoarea: .. (~']' ~']')* ... se va potrivi doar cu un număr par de caractere?
59 vederi
schedule 30.10.2023

Cum să obțineți IParseTree în ANTLR4?
În prezent folosesc ANTLR4 în C#, dar mă confrunt cu o problemă, nu știu cum să obțin obiectul/clasa IParseTree. Găsesc în C# numele complet calificat aici este Antlr4.Runtime.Tree.IParseTree , dar cum să obțineți obiectul? AntlrInputStream...
1203 vederi
schedule 16.11.2022

Antlr nepotrivit „›” pentru macrocomandă include
Am început să lucrez cu antlr acum câteva zile. Aș dori să-l folosesc pentru a analiza macrocomenzile #include în c. Doar includerile sunt în interesul meu, toate celelalte părți sunt irelevante. aici am scris un simplu fișier de gramatică: ......
48 vederi
schedule 09.11.2022

Reciproc stânga-recursiv?
Lucrez la un parser pentru o gramatică în ANTLR. În prezent lucrez la expresii în care () are cea mai mare prioritate de ordin, apoi minus unar etc. Când adaug linia ANTLR dă eroarea: Următoarele seturi de reguli sunt reciproc la stânga recursive...
707 vederi
schedule 08.10.2022