static void CompileInternal(Parser parser, ILGenerator ilGenerator) { CompilationVisitor visitor = new CompilationVisitor(parser.Context, ilGenerator); parser.ReadTopLevelStatements(visitor); visitor.EmitFooter(); }
/// <summary> /// Initializes a new instance. /// </summary> public Worker(int index, InvariantChecker context, StateStack stateStack, Func <RuntimeModel> createModel, int successorCapacity) { _index = index; _context = context; _createModel = createModel; _model = _createModel(); _stateStack = stateStack; var invariant = CompilationVisitor.Compile(_model.Formulas[0]); _transitions = new TransitionSet(_model, successorCapacity, invariant); }
/// <summary> /// Compiles the formula if it does not contain any temporal operators. /// </summary> public Func <bool> Compile() { return(CompilationVisitor.Compile(this)); }