The DejaVU Framework -- hush 3.0
[.] Papers Tutorials Examples Manuals Interfaces Sources Packages Resources ?

source: parser.c hush-3.1/grammar/ml/dlp


[.] - [up] [top] - index README make include source logic grammar scripts graphs slides talks
  include <ml/dlp/parser.h>
  
  

parser


  
  dlp_parser::dlp_parser(istream* in, ostream* out) {
          _scanner = new dlp_lex(in,out); 
          _parser =  new dlp_yacc(_scanner);
          init();
  }
  
  dlp_parser::dlp_parser(scanner* sc = 0, parser* p = 0) {
          _scanner = (dlp_lex*) (sc?sc:new dlp_lex()); //(in);
          _parser =  p?p:new dlp_yacc((scanner*)_scanner);
          init();
  }
  
  dlp_parser::~dlp_parser() {
          delete _scanner;
          delete _parser;
          }
  
  

slide: parser


parser::operator()


  
  term* dlp_parser::operator()() {
          return (*_parser)();
          }
  
  

slide: parser::operator()


parser::init


  
  void dlp_parser::init() {
  
          op("<-");
  
          right("is");
          right(":=");
  
          pre("new");
  
          specifier("class");
          specifier("object");
          declarative("var","var");
          declarative("proc","proc");
          command(":-");
          end("end");
          }
  
  

slide: parser::init

  

[.] Papers Tutorials Examples Manuals Interfaces Sources Packages Resources ?
Hush Online Technology
hush@cs.vu.nl
11/03/98