Difference between revisions of "Lexers Parsers"
m (→Standalone Parsers) |
WebFreak001 (talk | contribs) (update libdparse links & bump up for most activity) |
||
(10 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | Here are a few lexers and parsers for the D programming languages | + | Here are a few lexers and parsers for the D programming languages: |
== 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/ | + | * [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/bruno-medeiros/DDT/tree/master/org.dsource.ddt.dtool/src/dtool/parser DTool/DDT parser ]. Part of the DTool project (which has semantic functionality as well). Written in Java and powers DDT. Fairly complete. | ||
== Parser Generators == | == Parser Generators == | ||
Line 20: | Line 25: | ||
* [https://github.com/PhilippeSigaud/Pegged Pegged], a parsing expression grammar (PEG) generator by Philippe Sigaud. Parses at runtime and compile-time. | * [https://github.com/PhilippeSigaud/Pegged Pegged], a parsing expression grammar (PEG) generator by Philippe Sigaud. Parses at runtime and compile-time. | ||
+ | * [https://github.com/pwil3058/dunnart Dunnart], a parser generator with built in lexical analysis. | ||
== 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.