UNPKG

walt-compiler

Version:

Alternative syntax for WebAssembly text format

20 lines (16 loc) 567 B
// @flow import Syntax from 'walt-syntax'; import walkNode from 'walt-parser-tools/walk-node'; import type { NodeType, IntermediateMemoryType } from './flow/types'; const generateMemory = (node: NodeType): IntermediateMemoryType => { const memory = { max: 0, initial: 0 }; walkNode({ [Syntax.Pair]: ({ params }) => { // This could produce garbage values but that is a fault of the source code const [{ value: key }, { value }] = params; memory[key] = parseInt(value); }, })(node); return memory; }; export default generateMemory;