http://www.cs.chalmers.se/Cs/Research/Language-technology/BNFC/Come posso definire una grammatica del file INI usando il BNFC?
come dovrei scrivere il mio BNF etichettato per ottenere BNFC per generare un parser INI per me?
Sono appena arrivato così lontano!
entrypoints File ;
comment "#" ;
token ID (letter | digit | ["-_'"])+ ;
Ini. File ::= [Section] ;
Sect. Section ::= "[" ID "]" [Statement] ;
Bind. Statement ::= ID "=" ID ;
separator Statement "\n" ;
terminator Section "" ;
[name]
#x = 10
y = 20
Parse Successful!
[Abstract Syntax]
Ini [Sect (ID "name") [Bind (ID "y") (ID "20")]]
[Linearized tree]
[name]y = 20
[name]
x = 10
#y = 20
Parse Successful!
[Abstract Syntax]
Ini [Sect (ID "name") [Bind (ID "x") (ID "10")]]
[Linearized tree]
[name]x = 10
o__O mi sono bloccato ...
Che cosa vuoi fare dopo? Sembra che questo soddisfi le esigenze di analisi dei file ini –
non proprio perché con le precedenti sezioni grammaticali può avere una sola associazione. Mi piacerebbe essere in grado di analizzare tutti i tipi di file INI. –