| 107 | } |
| 108 | |
| 109 | void fxParseJSONToken(PiuCodeParser parser) |
| 110 | { |
| 111 | int i; |
| 112 | parser->token = XS_NO_JSON_TOKEN; |
| 113 | while (parser->token == XS_NO_JSON_TOKEN) { |
| 114 | parser->offset = parser->input; |
| 115 | switch (parser->character) { |
| 116 | case 0: |
| 117 | parser->token = XS_JSON_TOKEN_EOF; |
| 118 | break; |
| 119 | case 9: |
| 120 | PiuCodeParserTab(parser); |
| 121 | break; |
| 122 | case 10: |
| 123 | case 13: |
| 124 | PiuCodeParserReturn(parser); |
| 125 | break; |
| 126 | case ' ': |
| 127 | PiuCodeParserAdvance(parser); |
| 128 | break; |
| 129 | |
| 130 | case '-': |
| 131 | case '0': |
| 132 | case '1': |
| 133 | case '2': |
| 134 | case '3': |
| 135 | case '4': |
| 136 | case '5': |
| 137 | case '6': |
| 138 | case '7': |
| 139 | case '8': |
| 140 | case '9': |
| 141 | if (parser->character == '-') |
| 142 | PiuCodeParserAdvance(parser); |
| 143 | if (('0' <= parser->character) && (parser->character <= '9')) { |
| 144 | if (parser->character == '0') { |
| 145 | PiuCodeParserAdvance(parser); |
| 146 | } |
| 147 | else { |
| 148 | PiuCodeParserAdvance(parser); |
| 149 | while (('0' <= parser->character) && (parser->character <= '9')) { |
| 150 | PiuCodeParserAdvance(parser); |
| 151 | } |
| 152 | } |
| 153 | if (parser->character == '.') { |
| 154 | PiuCodeParserAdvance(parser); |
| 155 | if (('0' <= parser->character) && (parser->character <= '9')) { |
| 156 | PiuCodeParserAdvance(parser); |
| 157 | while (('0' <= parser->character) && (parser->character <= '9')) { |
| 158 | PiuCodeParserAdvance(parser); |
| 159 | } |
| 160 | } |
| 161 | else |
| 162 | PiuCodeParserError(parser); |
| 163 | } |
| 164 | if ((parser->character == 'e') || (parser->character == 'E')) { |
| 165 | PiuCodeParserAdvance(parser); |
| 166 | if ((parser->character== '+') || (parser->character == '-')) { |
no test coverage detected