Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Schimbare bec far VW Touran 1T3

Ce parere aveti de viteza/ modul ...

Love Lies Bleeding - 2024

Cum sterg mails din Promotions
 Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Donez medicamente renale ptr pisica

Ce componenta e asta si ce ziceti...
 Dupa 20 ani de facultate, am uita...

Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg
 Drept de proprietate intelectuala...

Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...
 

ANTLR4 Parser

- - - - -
  • Please log in to reply
2 replies to this topic

#1
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011
Salut!

Incerc sa creez un parser pentru un string de forma:

[Salut:/c=0.1//a=test/] [ce:/c=0.1//a=23/] [faci:/c=0.1//a=12.32/]


Gramatica de antlr4 arata asa:

grammar SAAScript;
sentence: WORD+;
WORD: '[' WORD_DESCRIPTOR ']';
WORD_DESCRIPTOR: WORD_IDENTIFIER ':' WORD_FEATURES_DESCRIPTORS;
WORD_IDENTIFIER: STRING;
WORD_FEATURES_DESCRIPTORS: WORD_FEATURE_DESCRIPTOR+;
WORD_FEATURE_DESCRIPTOR: '/' WORD_FEATURE_IDENTIFIER '=' WORD_FEATURE_VALUE '/';
WORD_FEATURE_IDENTIFIER:
	C_FEATURE | A_FEATURE
	;
C_FEATURE: 'c';
A_FEATURE: 'a';
WORD_FEATURE_VALUE: STRING | NUMBER;
fragment LETTER : LOWER | UPPER ;
fragment LOWER  : 'a'..'z' ;
fragment UPPER  : 'A'..'Z' ;
fragment DIGIT  : '0'..'9' ;
fragment INTEGER: DIGIT+ ;
fragment NUMBER: INTEGER (DOT INTEGER)? ;
fragment STRING: LETTER+ ;
fragment DOT: '.' ;
WS: [ \t\r\n]+ -> skip; // skip spaces, tabs, newlines


Problema e ca nu sunt identificati toti tokeni. Doar tokenul WORD apare in tree-ul parserului.
Any ideea?

#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,239
  • Înscris: 24.02.2007
Exista unelte pentru debug usor

https://stackoverflo...130989#53130989

https://github.com/m...ar-debugging.md

Edited by dani.user, 03 June 2020 - 13:20.


#3
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011
Mersi.

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate