Grammar Posts
Difference (previous author) (Change, Edit, normal page display)
Changed: 1c1,93
Describe the new page here. |
[[toc]] === 2008 === *2008-03-16, NG:digitalmars.D.bugs/13658, documentation anomalies ===2006= *2006/09/06, NG:digitalmars.D/41978 (a/k/a digitalmars-d/2006-September/008073), Proposed rewrite of statement syntax (see also NG:digitalmars.D.announce/4864) *2006/07/14, NG:digitalmars.D/40350, Re: Import conflict resolution *2006/01/13, NG:digitalmars.D/32081, Lexer related questions *2006/01/09, DsourceTopic:1232 by Sark7 :I've heard that someone wrote D language support for ANTLR (some times ago in d.announce). :Such grammar and number of syntax tree classes are already in eclipseD project, so you may wish to use it <g>. : http://svn.dsource.org/projects/eclipseD/trunk/ddt.core/src/org/dsource/ddt/core/model/ : (Now, it's at DsourceProject:ddt/browser/trunk/ddt.core/src/org/dsource/ddt/core/model -- JustinCalvarese) ===2005= *2005/10/25, NG:digitalmars.D.announce/1741, Re: DMD 0.137 release (Walter Bright) :It's not an LALR(1) grammar (one token lookahead), but doing LALR(1) would have compromised the look & feel I was trying to achieve. So arbitrary lookahead (LALR(n)) is needed. (A nit: it isn't a lexer problem, it's a parsing problem.) The lexer was designed from the start so that arbitrary lookahead is easy to do. *2005/6/9, NG:digitalmars.D/25330, D grammar for ANTLR? :I've currently modified lapg (see http://lapg.sf.net) to produce D output. lapg supports lexical scanner generation and LALR(1) grammars. I've also tried to create a D grammar for lapg but there are some D constructs which are context sensitive and needs >1 lookahead. The semantic and syntactic predicates of ANTLR would be very handy for this. I had a look at the ANTLR source and mailing list but I have not found a starting point or document how to create a custom language output generator, yet. If you have more luck, let me know :Greets :Klaus :BTW creating a custom language binding for ANTLR seems to be a nontrivial task. For lapg more or less changing a text template and recompilation was needed. Langage support in ANTLR consists of two parts: a code generator and a support library (base classes and AST handling). The one(s) who create such a monster will probably be condemned to maintain it *2005/1/27, NG:digitalmars.D/15177, Dimple 0.1 release ===2004= *2004/11/28, NG:digitalmars.D/13092, DGrammar announcement *2004/11/12, DGrammar project *2004/10/31, NG:digitalmars.D/12218 ( YAML parser for D) *2004/09/06, lr-lalr project *2004/09/01, NG:digitalmars.D/10104 ( Spirit) *2004/09/01, NG:digitalmars.D/10048 :ANTLR is ANother Tool for Language Recognition. It's the same idea as Lex and YACC, but has (I think) better syntax, and directly supports generating re-entrant parsers in C++, C# or Java. (Python support is on the way, as I understand it. Anybody want to take a crack at D support?) You can get it at http://antlr.org :I haven't run this through the complete gauntlet just yet, but preliminary tests suggest that it handles a respectable subset of D, if not the whole thing. : http://andy.tadan.us/d/d.g (new link: http://aegisknight.org/~andy/d/d.g) :There isn't much else going on in this parser just yet, it's little more than a syntax checker, but that also means that it's easier to gut it if you want to use the grammar for something else. *2004/08/21, NG:digitalmars.D/9333 *2004/08/18, NG:digitalmars.D/9012 *2004/07/15, D Antlr grammar *2004/04/14, NG:D/27509 *2004/04/05, DigitalMars:d/archives/27089.html *2004/03/26, DigitalMars:d/archives/26476.html *2004/03/13, DigitalMars:d/archives/25513.html *2004/01/28, DigitalMars:d/archives/22667.html ===2003= *2003/08/05, DigitalMars:d/archives/15038.html *2003/02/13, DigitalMars:d/archives/10943.html ===2002= *2002/02/06, DigitalMars:d/archives/3244.html *2002/01/23, DigitalMars:d/archives/2907.html |
|
2008
- 2008-03-16, NG:digitalmars.D.bugs/13658, documentation anomalies
2006
- 2006/09/06, NG:digitalmars.D/41978 (a/k/a digitalmars-d/2006-September/008073), Proposed rewrite of statement syntax (see also NG:digitalmars.D.announce/4864)
- 2006/07/14, NG:digitalmars.D/40350, Re: Import conflict resolution
- 2006/01/13, NG:digitalmars.D/32081, Lexer related questions
- 2006/01/09, DsourceTopic:1232 by Sark7
- I've heard that someone wrote D language support for ANTLR (some times ago in d.announce).
- Such grammar and number of syntax tree classes are already in eclipseD project, so you may wish to use it <g>.
- http://svn.dsource.org/projects/eclipseD/trunk/ddt.core/src/org/dsource/ddt/core/model/
- (Now, it's at DsourceProject:ddt/browser/trunk/ddt.core/src/org/dsource/ddt/core/model -- JustinCalvarese)
2005
- 2005/10/25, NG:digitalmars.D.announce/1741, Re: DMD 0.137 release (Walter Bright)
- It's not an LALR(1) grammar (one token lookahead), but doing LALR(1) would have compromised the look & feel I was trying to achieve. So arbitrary lookahead (LALR(n)) is needed. (A nit: it isn't a lexer problem, it's a parsing problem.) The lexer was designed from the start so that arbitrary lookahead is easy to do.
- 2005/6/9, NG:digitalmars.D/25330, D grammar for ANTLR?
- I've currently modified lapg (see http://lapg.sf.net) to produce D output. lapg supports lexical scanner generation and LALR(1) grammars. I've also tried to create a D grammar for lapg but there are some D constructs which are context sensitive and needs >1 lookahead. The semantic and syntactic predicates of ANTLR would be very handy for this. I had a look at the ANTLR source and mailing list but I have not found a starting point or document how to create a custom language output generator, yet. If you have more luck, let me know
- Greets
- Klaus
- BTW creating a custom language binding for ANTLR seems to be a nontrivial task. For lapg more or less changing a text template and recompilation was needed. Langage support in ANTLR consists of two parts: a code generator and a support library (base classes and AST handling). The one(s) who create such a monster will probably be condemned to maintain it
- 2005/1/27, NG:digitalmars.D/15177, Dimple 0.1 release
2004
- 2004/11/28, NG:digitalmars.D/13092, DGrammar announcement
- 2004/11/12, DGrammar project
- 2004/10/31, NG:digitalmars.D/12218 ( YAML parser for D)
- 2004/09/06, lr-lalr project
- 2004/09/01, NG:digitalmars.D/10104 ( Spirit)
- 2004/09/01, NG:digitalmars.D/10048
- ANTLR is ANother Tool for Language Recognition. It's the same idea as Lex and YACC, but has (I think) better syntax, and directly supports generating re-entrant parsers in C++, C# or Java. (Python support is on the way, as I understand it. Anybody want to take a crack at D support?) You can get it at http://antlr.org
- I haven't run this through the complete gauntlet just yet, but preliminary tests suggest that it handles a respectable subset of D, if not the whole thing.
- http://andy.tadan.us/d/d.g (new link: http://aegisknight.org/~andy/d/d.g)
- There isn't much else going on in this parser just yet, it's little more than a syntax checker, but that also means that it's easier to gut it if you want to use the grammar for something else.
- 2004/08/21, NG:digitalmars.D/9333
- 2004/08/18, NG:digitalmars.D/9012
- 2004/07/15, D Antlr grammar
- 2004/04/14, NG:D/27509
- 2004/04/05, DigitalMars:d/archives/27089.html
- 2004/03/26, DigitalMars:d/archives/26476.html
- 2004/03/13, DigitalMars:d/archives/25513.html
- 2004/01/28, DigitalMars:d/archives/22667.html
2003
- 2003/08/05, DigitalMars:d/archives/15038.html
- 2003/02/13, DigitalMars:d/archives/10943.html
2002
- 2002/02/06, DigitalMars:d/archives/3244.html
- 2002/01/23, DigitalMars:d/archives/2907.html