| 13814 | }; |
| 13815 | class MacroExpander { |
| 13816 | constructor(input, settings, mode) { |
| 13817 | this.settings = void 0; |
| 13818 | this.expansionCount = void 0; |
| 13819 | this.lexer = void 0; |
| 13820 | this.macros = void 0; |
| 13821 | this.stack = void 0; |
| 13822 | this.mode = void 0; |
| 13823 | this.settings = settings; |
| 13824 | this.expansionCount = 0; |
| 13825 | this.feed(input); // Make new global namespace |
| 13826 | |
| 13827 | this.macros = new Namespace(builtinMacros, settings.macros); |
| 13828 | this.mode = mode; |
| 13829 | this.stack = []; // contains tokens in REVERSE order |
| 13830 | } |
| 13831 | /** |
| 13832 | * Feed a new input string to the same MacroExpander |
| 13833 | * (with existing macros etc.). |