Lines Matching refs:cs
139 static int _lex(cstate *cs, int value) in _lex() argument
145 data = cs->data; in _lex()
147 if(cs->next != 0) { in _lex()
148 c = cs->next; in _lex()
149 cs->next = 0; in _lex()
170 cs->data = data; in _lex()
173 cs->data = data + 1; in _lex()
182 cs->data = data; in _lex()
186 cs->data = data; in _lex()
190 cs->data = data; in _lex()
204 cs->data = data; in _lex()
208 cs->data = data + 1; in _lex()
230 cs->data = data + 1; in _lex()
235 cs->data = data; in _lex()
240 cs->next = *data; in _lex()
242 cs->data = data + 1; in _lex()
253 cs->text = s; in _lex()
260 static int lex(cstate *cs, int value)
262 int tok = _lex(cs, value);
264 tok == T_TEXT ? cs->text : "");
268 #define lex(cs,v) _lex(cs,v) argument
271 static int parse_expr(cstate *cs, AConfig *node);
274 parse_block(cstate *cs, AConfig *node) in parse_block() argument
277 switch(lex(cs, 0)){ in parse_block()
279 if(parse_expr(cs, node)) return -1; in parse_block()
292 parse_expr(cstate *cs, AConfig *node) in parse_expr() argument
295 node = _aconfig_find(node, cs->text, 1); in parse_expr()
298 switch(lex(cs, 1)) { in parse_expr()
300 if(lex(cs, 0) != T_TEXT) return -1; in parse_expr()
301 node = _aconfig_find(node, cs->text, 1); in parse_expr()
305 node->value = cs->text; in parse_expr()
309 return parse_block(cs, node); in parse_expr()
321 cstate cs; in aconfig_load() local
322 cs.data = data; in aconfig_load()
323 cs.next = 0; in aconfig_load()
326 switch(lex(&cs, 0)){ in aconfig_load()
328 if(parse_expr(&cs, root)) return; in aconfig_load()