-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c60f717
commit f2a2fe6
Showing
7 changed files
with
55 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
%p | ||
C++0x looks to scary ... so choose your weapon. I tried digitalmars d, because it is a rich language with lots of "cool" features. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
--- | ||
title: Digitalmars D | ||
parent: /projects/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
%div.basic#accordion | ||
%a.header Story | ||
%div.chapter | ||
%p | ||
While reading the scala book by Martin Odersky I stumbled upon its brilliant article on combinator parsers. This project tries to give the building blocks for a similar library in d. | ||
%a.header Implementation | ||
%div.chapter | ||
%p | ||
To keep reuse simple the project consists of only one module (pc.parser) in one file pc/parser.d. In addition to a object oriented api I tried to add some operators to shorten the construction of parsers as much as possible. | ||
%p | ||
Please see the integrated unittests for examples. | ||
%a.header Sources | ||
%div.chapter | ||
The sources are located in my private assembla repository. Feel free to contact me if you want to try them out. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
--- | ||
title: Combinator Parser Lib | ||
parent: /projects/digitalmarsd/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
%div.basic#accordion | ||
%a.header Story | ||
%div.chapter | ||
%p | ||
I did not get protobuf ... So I thought: | ||
%ul | ||
%li Learn a little about the protobuf internals. | ||
%li See how to generate source with d. | ||
%li Use the parser combinator library to implement a not so minimal parser example. | ||
%li And create a useful library to interact with the rest of the world. | ||
All at the same time. | ||
%a.header Implementation | ||
%div.chapter | ||
%p | ||
The project consists of several parts: | ||
%ul | ||
%li some small helper classes that are kind of a runtime for the generated sources. | ||
%li some tests written in java to generate protobuf files which are used to check the results from the generator. | ||
%li the compiler itself (it is implemented by first writing a parser from scratch (I know ... dont do this at home and use the protobuf parser)). | ||
%li integration tests, that use the java-references to check if everything is compatible. | ||
%p | ||
Please check the d examples in compiler/tests (e.g. the canonical addressbook tests for the generated api). | ||
%a.header Restrictions | ||
%div.chapter | ||
%p | ||
Neither the service part nor the extension part is currently implemented. | ||
%a.header Sources | ||
%div.chapter | ||
The sources are located in my private assembla repository. Feel free to contact me if you want to try them out. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
--- | ||
title: Protobuf | ||
parent: /projects/digitalmarsd/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters