import { ASTNode } from "./index"; import symbol_tree from './index'; import { Expression, ValueNode, AttributionNode, FunctionCallNode } from './index'; var variable_id = 0; let results: string[] = []; function nextVar () { return 'var' + variable_id++; } function writeThreeAddressCode (node) { if (node.id === 'StatementsNode') { for (var statement of node.statements) { writeThreeAddressCode(statement); } } else if (node instanceof FunctionCallNode) { } else if (node instanceof ValueNode) { } else if (node instanceof VariableNode) { } else if (node instanceof AttributionNode) { } else if (node instanceof Expression) { if (node.left !== undefined && node.right !== undefined) { } } } var ast = parser.parse (str); console.log (JSON.stringify(ast, null, 4)); writeThreeAddressCode(ast);