Changeset 312 for trunk

Show
Ignore:
Timestamp:
05/27/08 23:46:09 (5 months ago)
Author:
pragma
Message:

Broken - need refinement on Enki1 grammar.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/enki2/enki/frontend/Enki1Lexer.bnf

    r311 r312  
    2424    OTHER DEALINGS IN THE SOFTWARE. 
    2525"; 
    26 .d-header = "module enki.frontend.EnkiLexer; 
     26.d-header = "module enki.frontend.Enki1Lexer; 
    2727import enki.EnkiToken; 
    2828import enki.frontend.EnkiLexerBase; 
    2929"; 
    3030.d-filename = "./enki/frontend/Enki1Lexer.d"; 
    31 .d-baseclass = "EnkiLexerBase!(CharT)"; 
     31.d-baseclass = "EnkiLexerBaseT!(CharT)"; 
    3232.d-classname = "Enki1LexerT(CharT)"; 
    3333 
  • trunk/enki2/enki/frontend/Enki1Parser.bnf

    r311 r312  
    119119StringProductionArg 
    120120    = new StringProductionArg(String value) 
    121     ::= String:value; 
     121    ::= &TOK_STRING:value; 
    122122 
    123123BindingProductionArg 
     
    130130 
    131131GroupExpr 
    132     = new GroupExpr(Expression expr,Binding binding) 
     132    = new Group(Expression expr,Binding binding) 
    133133    ::= "(" Expression:expr ")" [Binding:binding]; 
    134134 
     
    147147Terminal 
    148148    = new Terminal(String text,Binding binding) 
    149     ::= String:text [ Binding:binding]; 
     149    ::= &TOK_STRING:text [ Binding:binding]; 
    150150 
    151151Range 
     
    154154 
    155155Regexp 
    156     = new Regexp(String text,Binding binding) 
     156    = new RegularExpression(String text,Binding binding) 
    157157    ::= &TOK_REGEX:text [Binding:binding]; 
    158158 
     
    191191ImportDirective 
    192192    = void addImport(String imp) 
    193     ::= "import"  "("  DirectiveArg:imp  ")"  ";" @
     193    ::= "import"  "("  DirectiveArg:imp  ")"  ";"
    194194 
    195195BaseClassDirective   
     
    207207IncludeDirective 
    208208    = void includeDirective(String filename) 
    209     ::= "include"  "("  String:filename  ")"  ";"; 
     209    ::= "include"  "("  &TOK_STRING:filename  ")"  ";"; 
    210210 
    211211AliasDirective 
     
    214214 
    215215ModuleDirective 
    216     = void setModulename(String moduleName); 
     216    = void setModulename(String moduleName) 
    217217    ::= "module"  "("  DirectiveArg:moduleName  ")"  ";"; 
    218218 
     
    228228 
    229229BoilerplateDirective 
    230     = void setBoilerplate(String code); 
     230    = void setBoilerplate(String code) 
    231231    ::= "boilerplate"  "{{{" { any}:code "}}}"; 
    232232 
    233233HeaderDirective 
    234     = void setHeader(String code); 
     234    = void setHeader(String code) 
    235235    ::= "header"  "{{{" { any}:code "}}}"; 
    236236 
     
    240240DirectiveArg 
    241241    = String arg 
    242     ::= Identifier:arg | String:arg; 
     242    ::= Identifier:arg | &TOK_STRING:arg; 
  • trunk/enki2/enki/frontend/Enki1ParserBase.d

    r311 r312  
    2525module enki.frontend.Enki1ParserBase; 
    2626 
    27 public class Enki1ParserBaseT!(CharT) : FrontendBaseT!(CharT,Enki1LexerBaseT){ 
     27import enki.frontend.Frontend; 
     28import enki.frontend.Enki1Lexer; 
     29import enki.EnkiToken; 
     30import enki.types; 
     31 
     32class Enki1ParserBaseT(CharT):FrontendBaseT!(CharT,Enki1LexerT!(CharT)){ 
     33    mixin AllTypesMixin!(CharT); 
     34    alias EnkiTokenT!(CharT) EnkiToken; 
     35         
    2836    /* 
    2937        Concessions for Enki1 
  • trunk/enki2/enki/frontend/all.d

    r310 r312  
    2626 
    2727public import enki.frontend.Enki2Parser; 
    28 //public import enki.frontend.Enki1Parser; 
     28public import enki.frontend.Enki1Parser; 
    2929//public import enki.frontend.ISOParser; 
    3030//public import enki.frontend.ABNFParser; 
     
    5151 
    5252static this(){ 
    53 //    registeredFrontends["enki1"]    = new FrontendRefT!(Enki1ParserT!(CharT)); 
     53  registeredFrontends["enki1"]    = new FrontendRefT!(Enki1ParserT!(CharT)); 
    5454    registeredFrontends["enki2"]  = new FrontendRefT!(Enki2ParserT!(CharT)); 
    5555//  registeredFrontends["iso"] = new FrontendRefT!(ISOParserT!(CharT)); 
  • trunk/enki2/enki/generator/DGenerator.d

    r310 r312  
    205205                emitln("return \"{0}\";",safeString(help)); 
    206206            unindent; 
    207             emitln("}}"); 
     207            emitln("}"); 
    208208         
    209209            // class body