Added the Session API
parent
8e9be9afea
commit
f4c67993f6
@ -0,0 +1,35 @@
|
||||
"use strict";
|
||||
|
||||
const ast = require( "../ast" );
|
||||
const opcodes = require( "./opcodes" );
|
||||
const parser = require( "../parser" );
|
||||
|
||||
class Session {
|
||||
|
||||
constructor( options ) {
|
||||
|
||||
options = typeof options !== "undefined" ? options : {};
|
||||
|
||||
this.grammar = options.grammar;
|
||||
this.opcodes = options.opcodes || opcodes;
|
||||
this.parser = options.parser || parser;
|
||||
this.passes = options.passes || [];
|
||||
this.visitor = options.visitor || ast.visitor;
|
||||
|
||||
}
|
||||
|
||||
parse( input, options ) {
|
||||
|
||||
return this.parser.parse( input, options );
|
||||
|
||||
}
|
||||
|
||||
buildVisitor( functions ) {
|
||||
|
||||
return this.visitor.build( functions );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = Session;
|
Loading…
Reference in New Issue