environment.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // /**
  2. // * Copyright (c) 2018 Mol* contributors, licensed under MIT, See LICENSE file for more info.
  3. // *
  4. // * @author David Sehnal <david.sehnal@gmail.com>
  5. // */
  6. // import { MSymbol } from '../language/symbol'
  7. // import { SymbolRuntime } from './symbol'
  8. // import { Macro } from './macro';
  9. // import Expression from '../language/expression';
  10. // class Environment {
  11. // readonly runtimeTable: SymbolRuntime.Table;
  12. // readonly macroTable: Macro.Table = new Map<string, Macro>();
  13. // addMacro(name: string, expression: Expression, argNames: ReadonlyArray<string>): Macro {
  14. // const argIndex: Macro['argIndex'] = {};
  15. // for (let i = 0; i < argNames.length; i++) argIndex[argNames[i]] = i;
  16. // const macro: Macro = { expression, argIndex, argNames };
  17. // this.macroTable.set(name, macro);
  18. // return macro;
  19. // }
  20. // removeMacro(name: string) {
  21. // this.macroTable.delete(name);
  22. // }
  23. // addSymbolRuntime(symbol: MSymbol, runtime: SymbolRuntime) {
  24. // this.runtimeTable.set(symbol.id, runtime);
  25. // }
  26. // removeSymbolRuntime(symbol: MSymbol) {
  27. // this.runtimeTable.delete(symbol.id);
  28. // }
  29. // }
  30. // export default Environment