Difference between revisions of "Lexers Parsers"
(Updated link to std.d.parser) |
WebFreak001 (talk | contribs) (update libdparse links & bump up for most activity) |
||
(One intermediate revision by one other user not shown) | |||
Line 2: | Line 2: | ||
== Standalone Lexers == | == Standalone Lexers == | ||
+ | |||
+ | * [https://github.com/dlang-community/libdparse/blob/master/src/std/experimental/lexer.d libdparse std.experimental.lexer] | ||
* [https://github.com/dawgfoto/lexer Martin Nowak's lexer] | * [https://github.com/dawgfoto/lexer Martin Nowak's lexer] | ||
− | + | == Standalone Parsers == | |
− | + | * [https://github.com/dlang-community/libdparse/ libdparse]. Used by DCD, D-Scanner and dfmt. | |
* [http://dsource.org/projects/scrapple/browser/trunk/dparser Benjamin Shropshire's dparser]. | * [http://dsource.org/projects/scrapple/browser/trunk/dparser Benjamin Shropshire's dparser]. | ||
− | |||
− | |||
* [https://github.com/aBothe/D_Parser/tree/master/DParser2 Alexander Bothe's DParser 2]. Written in C# and used in Mono-D | * [https://github.com/aBothe/D_Parser/tree/master/DParser2 Alexander Bothe's DParser 2]. Written in C# and used in Mono-D | ||
Line 28: | Line 28: | ||
== Parsers and Lexers Inside Compilers == | == Parsers and Lexers Inside Compilers == | ||
− | * [ | + | * [https://github.com/azizk/dil Aziz Koeksal's DIL], another D compiler based on Tango. You can find the lexer in [https://github.com/azizk/dil/tree/master/src/dil/lexer src/dil/lexer], the parser in [https://github.com/azizk/dil/tree/master/src/dil/parser src/dil/parser] and the abstract syntax tree code in [https://github.com/azizk/dil/tree/master/src/dil/ast src/dil/ast]. |
+ | |||
+ | [[Category:Tools]] |
Latest revision as of 13:06, 16 July 2020
Here are a few lexers and parsers for the D programming languages:
Contents
Standalone Lexers
Standalone Parsers
- libdparse. Used by DCD, D-Scanner and dfmt.
- Alexander Bothe's DParser 2. Written in C# and used in Mono-D
- DTool/DDT parser . Part of the DTool project (which has semantic functionality as well). Written in Java and powers DDT. Fairly complete.
Parser Generators
- Hisayuki Mima's CTPG is a compile-time parser generator.
- Nick Sabalausky's Goldie.
- Pegged, a parsing expression grammar (PEG) generator by Philippe Sigaud. Parses at runtime and compile-time.
- Dunnart, a parser generator with built in lexical analysis.
Parsers and Lexers Inside Compilers
- Aziz Koeksal's DIL, another D compiler based on Tango. You can find the lexer in src/dil/lexer, the parser in src/dil/parser and the abstract syntax tree code in src/dil/ast.