MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / parse_char

Function parse_char

common/grammar-parser.cpp:102–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

100 }
101
102 static std::pair<uint32_t, const char *> parse_char(const char * src) {
103 if (*src == '\\') {
104 switch (src[1]) {
105 case 'x': return parse_hex(src + 2, 2);
106 case 'u': return parse_hex(src + 2, 4);
107 case 'U': return parse_hex(src + 2, 8);
108 case 't': return std::make_pair('\t', src + 2);
109 case 'r': return std::make_pair('\r', src + 2);
110 case 'n': return std::make_pair('\n', src + 2);
111 case '\\':
112 case '"':
113 case '[':
114 case ']':
115 return std::make_pair(src[1], src + 2);
116 default:
117 throw std::runtime_error(std::string("unknown escape at ") + src);
118 }
119 } else if (*src) {
120 return decode_utf8(src);
121 }
122 throw std::runtime_error("unexpected end of input");
123 }
124
125 const char * parse_alternates(
126 parse_state & state,

Callers 1

parse_sequenceFunction · 0.70

Calls 3

parse_hexFunction · 0.70
decode_utf8Function · 0.70
stringFunction · 0.50

Tested by

no test coverage detected