diff --git a/main.js b/main.js index b24eea7..f49c5e6 100644 --- a/main.js +++ b/main.js @@ -27,10 +27,11 @@ var post_process_lexer = function (_string) { _string = _string.replace(/^.*(_r2c_var_.*;|unsigned int yyaccept = 0;)\n/gm, ""); // replace var yych; _string = _string.replace(/(yych = \*this._yy_cursor);\n/gm, "\tcase 1:\n yych = this._string[this._yy_cursor];\n"); // insert "case 1:" before; + _string = _string.replace(/switch \(\(yych = \*this\._yy_cursor\)\) \{/gm, "this._yy_char = this._string[this._yy_cursor]; \nswitch(this._yy_char) {"); // замена разыменовываний + _string = _string.replace(/\*\((.*?)\);/gm, "this._string[($1)];"); // замена разыменовываний _string = _string.replace(/\*(.* ?);/gm, "this._string[$1];"); // замена разыменовываний _string = _string.replace(/\*(.* ?)\)/gm, "this._string[$1])"); // замена разыменовываний - _string = _string.replace(/switch \(\(yych = \*this\._yy_cursor\)\) \{/gm, "this._yy_char = this._string[this._yy_cursor]; \nswitch(this._yy_char) {"); // замена разыменовываний _string = _string.replace(/^yy(\d*?):/gm, "case $1:"); // replace goto marker onto case