Difference between revisions of "Lexers Parsers"

From D Wiki
Jump to: navigation, search
(update libdparse links & bump up for most activity)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Here are a few lexers and parsers for the D programming languages, all written in D:
+
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]
  
* [https://github.com/Hackerpilot/Dscanner/blob/range-based-lexer/std/d/lexer.d (Possibly) the future std.d.lexer]
+
== Standalone Parsers ==
  
== 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/Hackerpilot/Dscanner/blob/range-based-lexer/std/d/parser.d (Possibly) the future std.d.parser]. VERY INCOMPLETE
+
* [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
+
* [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 26: 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].
  
* [https://github.com/bhelyer/SDC SDC], the Stupid D Compiler also have a [https://github.com/bhelyer/SDC/blob/master/src/sdc/lexer.d lexer] and a [https://github.com/bhelyer/SDC/tree/master/src/sdc/parser parser] and code for [https://github.com/bhelyer/SDC/tree/master/src/sdc/ast abstract syntax trees].
+
[[Category:Tools]]
 
 
* [http://code.google.com/p/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].
 

Latest revision as of 13:06, 16 July 2020

Here are a few lexers and parsers for the D programming languages:

Standalone Lexers

Standalone Parsers

  • 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.
  • 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