The agAST VM's purpose is to define what is valid agAST. For complete documentation, see the agast-vm API reference.
import { agast } from '@bablr/agast-vm';
import * as b from '@bablr/agast-helpers/builders';
let vm = agast();
let step;
let openTag = b.buildOpenNodeTag(b.tokenFlags, 'Token');
let closeTag = b.buildLiteralTag('OK');
let closeTag = b.buildCloseNodeTag();
step = vm.next(openTag);
step = vm.next(literalTag);
step = vm.next(closeTag);
let node = step.value;