| 1060 | } |
| 1061 | |
| 1062 | txScript* fxParseScript(txMachine* the, void* stream, txGetter getter, txUnsigned flags) |
| 1063 | { |
| 1064 | txParser _parser; |
| 1065 | txParser* parser = &_parser; |
| 1066 | txParserJump jump; |
| 1067 | txScript* script = NULL; |
| 1068 | fxInitializeParser(parser, the, the->parserBufferSize, the->parserTableModulo); |
| 1069 | parser->firstJump = &jump; |
| 1070 | if (c_setjmp(jump.jmp_buf) == 0) { |
| 1071 | fxParserTree(parser, stream, getter, flags, NULL); |
| 1072 | fxParserHoist(parser); |
| 1073 | fxParserBind(parser); |
| 1074 | script = fxParserCode(parser); |
| 1075 | } |
| 1076 | #ifdef mxInstrument |
| 1077 | if (the->peakParserSize < parser->total) |
| 1078 | the->peakParserSize = parser->total; |
| 1079 | #endif |
| 1080 | fxTerminateParser(parser); |
| 1081 | return script; |
| 1082 | } |
| 1083 | |
| 1084 | /* DEBUG */ |
| 1085 |
no test coverage detected