Move compiler/vm.js to util/vm.js

master
Futago-za Ryuu 6 years ago
parent 146d021d21
commit 94ca36469b

@ -13,12 +13,10 @@ const reportUndefinedRules = require( "./passes/report-undefined-rules" );
const inferenceMatchResult = require( "./passes/inference-match-result" ); const inferenceMatchResult = require( "./passes/inference-match-result" );
const Session = require( "./session" ); const Session = require( "./session" );
const util = require( "../util" ); const util = require( "../util" );
const vm = require( "./vm" );
const compiler = { const compiler = {
Session: Session, Session: Session,
vm: vm,
// Compiler passes. // Compiler passes.
// //

@ -6,7 +6,7 @@ const ast = require( "../ast" );
const GrammarError = require( "../grammar-error" ); const GrammarError = require( "../grammar-error" );
const opcodes = require( "./opcodes" ); const opcodes = require( "./opcodes" );
const parser = require( "../parser" ); const parser = require( "../parser" );
const vm = require( "./vm" ); const util = require( "../util" );
function fatal( message, location ) { function fatal( message, location ) {
@ -28,7 +28,9 @@ class Session {
this.parser = config.parser || parser; this.parser = config.parser || parser;
this.passes = config.passes || {}; this.passes = config.passes || {};
this.visitor = config.visitor || ast.visitor; this.visitor = config.visitor || ast.visitor;
this.vm = config.vm || vm; this.vm = config.vm || {
runInContext: util.runInContext
};
if ( typeof config.warn === "function" ) this.warn = config.warn; if ( typeof config.warn === "function" ) this.warn = config.warn;
if ( typeof config.error === "function" ) this.error = config.error; if ( typeof config.error === "function" ) this.error = config.error;

@ -325,7 +325,7 @@ declare namespace peg {
} }
const build: IVisitorBuilder; const build: IVisitorBuilder;
const on: IFor; const on: IOn;
} }
@ -432,12 +432,11 @@ declare namespace peg {
} }
interface vm { interface ISessionVM {
runInContext( code: string, vm$context?: { [ name: string ]: any; } ): any; runInContext( code: string, vm$context?: { [ name: string ]: any; } ): any;
} }
const vm: vm;
interface ISessionMessageEmitter { interface ISessionMessageEmitter {
@ -452,7 +451,7 @@ declare namespace peg {
parser?: GeneratedParser<Grammar>; parser?: GeneratedParser<Grammar>;
passes?: IPassesMap; passes?: IPassesMap;
visitor?: ast.visitor; visitor?: ast.visitor;
vm?: vm; vm?: ISessionVM;
warn?: ISessionMessageEmitter; warn?: ISessionMessageEmitter;
error?: ISessionMessageEmitter; error?: ISessionMessageEmitter;
@ -553,7 +552,7 @@ declare namespace peg {
enforceFastProperties( o: {} ): {}; enforceFastProperties( o: {} ): {};
} }
interface util extends IJavaScriptUtils, IObjectUtils { interface util extends IJavaScriptUtils, IObjectUtils, compiler.ISessionVM {
noop(): void; noop(): void;
convertPasses( stages: IStageMap ): compiler.IPassesMap; convertPasses( stages: IStageMap ): compiler.IPassesMap;

@ -73,12 +73,6 @@ declare module "pegjs/lib/compiler/session" {
} }
declare module "pegjs/lib/compiler/vm" {
export default peg.compiler.vm;
}
declare module "pegjs/lib/compiler/passes/calc-report-failures" { declare module "pegjs/lib/compiler/passes/calc-report-failures" {
export default peg.compiler.passes.generate.calcReportFailures; export default peg.compiler.passes.generate.calcReportFailures;
@ -170,3 +164,10 @@ declare module "pegjs/lib/util/objects" {
export default objects; export default objects;
} }
declare module "pegjs/lib/util/vm" {
const vm: peg.compiler.ISessionVM;
export default vm;
}

@ -2,9 +2,11 @@
const js = require( "./js" ); const js = require( "./js" );
const objects = require( "./objects" ); const objects = require( "./objects" );
const vm = require( "./vm" );
objects.extend( exports, js ); objects.extend( exports, js );
objects.extend( exports, objects ); objects.extend( exports, objects );
objects.extend( exports, vm );
exports.noop = function noop() { }; exports.noop = function noop() { };

Loading…
Cancel
Save