Correlato a my earlier question relativo alla corrispondenza di parole chiave insensibili alle maiuscole utilizzando le espressioni regolari.Corrispondenza senza distinzione tra maiuscole e minuscole in Marpa
È possibile associare le stringhe senza distinzione tra maiuscole e minuscole in Marpa? Se sì, come?
Supponiamo che io ho la grammatica
:start ::= script
identifier ~ [\w]+
script ::= 'script' identifier code
code ::= command*
command ::= 'run' | 'walk' | 'stop'
Come posso farlo corrispondere qualsiasi script
, Script
, SCRIPT
o qualsiasi altra combinazione di lettere maiuscole e maiuscole?
Solo ASCII a 7 bit, la codifica ASCII estesa a 8 bit sul sistema operativo preferito o Unicode completo? – hippietrail
Poiché il progetto in questione è stato scritto in Perl, suppongo: Qualunque cosa pensi Perl sia la corretta codifica per i dati. Tuttavia, poiché la grammatica è pensata per un linguaggio di programmazione, l'ASCII a 7 bit sarebbe sufficiente per gli identificatori. – onitake
Perl ha forse il supporto più completo per diverse codifiche di qualsiasi linguaggio di programmazione. Non so però se Marpa usi direttamente la regex di Perl o reimpieghi un sottoinsieme limitato. Ma in generale in qualsiasi lingua ho sempre usato espressioni regolari come '[sS] [cC] [rR] [iI] [pP] [tT]' di fronte a questo. – hippietrail