Changeset 639

Show
Ignore:
Timestamp:
08/23/08 11:48:44 (3 months ago)
Author:
weyrick
Message:

add in initial spirit parser

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/rphp/compiler/pDriver.cpp

    r638 r639  
    4444 
    4545#include "pLexers.h" 
     46#include "pParser.h" 
    4647#include "pDriver.h" 
    4748 
     
    329330 
    330331void pDriver::dumpAST(string fileName) { 
    331 /* 
     332 
     333    ifstream inFile; 
     334 
     335    std::string contents = readFile(fileName); 
     336 
     337    pLangTokens tokens; 
     338    pLangLexer lexer(tokens); 
     339    pLangGrammar parser(tokens); 
     340 
     341    std::string::iterator it = contents.begin(); 
     342    tokIteratorType iter = lexer.begin(it, contents.end()); 
     343    tokIteratorType end = lexer.end(); 
     344 
     345    std::string ws = "WS"; 
     346 
     347    bool r = phrase_parse(iter, end, parser, in_state(ws)[tokens.skip_toks]); 
     348 
     349    if (r && iter == end) 
     350    { 
     351        std::cout << "-------------------------\n"; 
     352        std::cout << "Parsing succeeded\n"; 
     353        std::cout << "-------------------------\n"; 
     354    } 
     355    else 
     356    { 
     357        std::cout << "-------------------------\n"; 
     358        std::cout << "Parsing failed\n"; 
     359        std::cout << "-------------------------\n"; 
     360    } 
     361 
     362    /* 
    332363    ifstream inFile; 
    333364