Changeset 312 for trunk/enki2
- Timestamp:
- 05/27/08 23:46:09 (6 months ago)
- Files:
-
- trunk/enki2/enki/frontend/Enki1Lexer.bnf (modified) (1 diff)
- trunk/enki2/enki/frontend/Enki1Parser.bnf (modified) (9 diffs)
- trunk/enki2/enki/frontend/Enki1ParserBase.d (modified) (1 diff)
- trunk/enki2/enki/frontend/all.d (modified) (2 diffs)
- trunk/enki2/enki/generator/DGenerator.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/enki2/enki/frontend/Enki1Lexer.bnf
r311 r312 24 24 OTHER DEALINGS IN THE SOFTWARE. 25 25 "; 26 .d-header = "module enki.frontend.Enki Lexer;26 .d-header = "module enki.frontend.Enki1Lexer; 27 27 import enki.EnkiToken; 28 28 import enki.frontend.EnkiLexerBase; 29 29 "; 30 30 .d-filename = "./enki/frontend/Enki1Lexer.d"; 31 .d-baseclass = "EnkiLexerBase !(CharT)";31 .d-baseclass = "EnkiLexerBaseT!(CharT)"; 32 32 .d-classname = "Enki1LexerT(CharT)"; 33 33 trunk/enki2/enki/frontend/Enki1Parser.bnf
r311 r312 119 119 StringProductionArg 120 120 = new StringProductionArg(String value) 121 ::= String:value;121 ::= &TOK_STRING:value; 122 122 123 123 BindingProductionArg … … 130 130 131 131 GroupExpr 132 = new Group Expr(Expression expr,Binding binding)132 = new Group(Expression expr,Binding binding) 133 133 ::= "(" Expression:expr ")" [Binding:binding]; 134 134 … … 147 147 Terminal 148 148 = new Terminal(String text,Binding binding) 149 ::= String:text [ Binding:binding];149 ::= &TOK_STRING:text [ Binding:binding]; 150 150 151 151 Range … … 154 154 155 155 Regexp 156 = new Reg exp(String text,Binding binding)156 = new RegularExpression(String text,Binding binding) 157 157 ::= &TOK_REGEX:text [Binding:binding]; 158 158 … … 191 191 ImportDirective 192 192 = void addImport(String imp) 193 ::= "import" "(" DirectiveArg:imp ")" ";" @;193 ::= "import" "(" DirectiveArg:imp ")" ";"; 194 194 195 195 BaseClassDirective … … 207 207 IncludeDirective 208 208 = void includeDirective(String filename) 209 ::= "include" "(" String:filename ")" ";";209 ::= "include" "(" &TOK_STRING:filename ")" ";"; 210 210 211 211 AliasDirective … … 214 214 215 215 ModuleDirective 216 = void setModulename(String moduleName) ;216 = void setModulename(String moduleName) 217 217 ::= "module" "(" DirectiveArg:moduleName ")" ";"; 218 218 … … 228 228 229 229 BoilerplateDirective 230 = void setBoilerplate(String code) ;230 = void setBoilerplate(String code) 231 231 ::= "boilerplate" "{{{" { any}:code "}}}"; 232 232 233 233 HeaderDirective 234 = void setHeader(String code) ;234 = void setHeader(String code) 235 235 ::= "header" "{{{" { any}:code "}}}"; 236 236 … … 240 240 DirectiveArg 241 241 = String arg 242 ::= Identifier:arg | String:arg;242 ::= Identifier:arg | &TOK_STRING:arg; trunk/enki2/enki/frontend/Enki1ParserBase.d
r311 r312 25 25 module enki.frontend.Enki1ParserBase; 26 26 27 public class Enki1ParserBaseT!(CharT) : FrontendBaseT!(CharT,Enki1LexerBaseT){ 27 import enki.frontend.Frontend; 28 import enki.frontend.Enki1Lexer; 29 import enki.EnkiToken; 30 import enki.types; 31 32 class Enki1ParserBaseT(CharT):FrontendBaseT!(CharT,Enki1LexerT!(CharT)){ 33 mixin AllTypesMixin!(CharT); 34 alias EnkiTokenT!(CharT) EnkiToken; 35 28 36 /* 29 37 Concessions for Enki1 trunk/enki2/enki/frontend/all.d
r310 r312 26 26 27 27 public import enki.frontend.Enki2Parser; 28 //public import enki.frontend.Enki1Parser;28 public import enki.frontend.Enki1Parser; 29 29 //public import enki.frontend.ISOParser; 30 30 //public import enki.frontend.ABNFParser; … … 51 51 52 52 static this(){ 53 //registeredFrontends["enki1"] = new FrontendRefT!(Enki1ParserT!(CharT));53 registeredFrontends["enki1"] = new FrontendRefT!(Enki1ParserT!(CharT)); 54 54 registeredFrontends["enki2"] = new FrontendRefT!(Enki2ParserT!(CharT)); 55 55 // registeredFrontends["iso"] = new FrontendRefT!(ISOParserT!(CharT)); trunk/enki2/enki/generator/DGenerator.d
r310 r312 205 205 emitln("return \"{0}\";",safeString(help)); 206 206 unindent; 207 emitln("} }");207 emitln("}"); 208 208 209 209 // class body
