Note - adjivas/telamon GitHub Wiki
Proof Of Concept
Parseur comprenant :
- numero de ligne et colone.
- commentaire.
N | Solution | Rust's version | Type | Description |
---|---|---|---|---|
1 | Flex/C, link | stable | .l | lexical analysis |
2 | nom | stable | parser combinators | |
3 | Lalrpop | stable | .lalrpop | parser generator/LR |
4 | pest | stable | parsing expression grammar/PEG | |
5 | RustLex | nightly | .l/rs | Lexical analysers generator |
- kevinmehall@rust-peg/PEG -- pas de support des commentaires, voir issue 178
- ragel -- exclue de la liste pour cette raison : http://www.colm.net/news/2016/07/31/ragel-target-langs.html
Option
Flex/C link vs RustLex
doy/vt100-rust tout comme telamon-gen utilise Flex, la différence ici c'est que ce projet compile et link le parseur qui lui est écrit en C. Voir l'implementation Rust et le submodule.
Lalrpop
"if you have comments you can still use LALRPOP, you will just need to write a custom lexer."
Nom
Appuyé par ce papier : http://spw17.langsec.org/papers/chifflier-parsing-in-2017.pdf -- Writing parsers like it is 2017 -- Démonstration de Nom/Rust.