Lines Matching refs:l

44 dc_lex_negCommand(BcLex* l)  in dc_lex_negCommand()  argument
46 char c = l->buf[l->i]; in dc_lex_negCommand()
56 dc_lex_register(BcLex* l) in dc_lex_register() argument
59 if (DC_X && isspace(l->buf[l->i - 1])) in dc_lex_register()
64 bc_lex_whitespace(l); in dc_lex_register()
65 c = l->buf[l->i]; in dc_lex_register()
70 bc_lex_verr(l, BC_ERR_PARSE_CHAR, c); in dc_lex_register()
74 l->i += 1; in dc_lex_register()
75 bc_lex_name(l); in dc_lex_register()
81 if (BC_ERR(l->buf[l->i - 1] == '\n')) in dc_lex_register()
83 bc_lex_verr(l, BC_ERR_PARSE_CHAR, l->buf[l->i - 1]); in dc_lex_register()
87 bc_vec_popAll(&l->str); in dc_lex_register()
88 bc_vec_pushByte(&l->str, (uchar) l->buf[l->i - 1]); in dc_lex_register()
89 bc_vec_pushByte(&l->str, '\0'); in dc_lex_register()
90 l->t = BC_LEX_NAME; in dc_lex_register()
101 dc_lex_string(BcLex* l) in dc_lex_string() argument
108 l->t = BC_LEX_STR; in dc_lex_string()
109 bc_vec_popAll(&l->str); in dc_lex_string()
118 assert(l->mode != BC_MODE_STDIN || l->buf == vm->buffer.v); in dc_lex_string()
124 for (i = l->i; (c = l->buf[i]) && depth; ++i) in dc_lex_string()
129 c = l->buf[++i]; in dc_lex_string()
141 if (depth) bc_vec_push(&l->str, &c); in dc_lex_string()
146 if (!vm->eof && l->mode != BC_MODE_FILE) in dc_lex_string()
148 got_more = bc_lex_readLine(l); in dc_lex_string()
153 bc_vec_popAll(&l->str); in dc_lex_string()
162 l->i = i; in dc_lex_string()
163 bc_lex_err(l, BC_ERR_PARSE_STRING); in dc_lex_string()
166 bc_vec_pushByte(&l->str, '\0'); in dc_lex_string()
168 l->i = i; in dc_lex_string()
169 l->line += nls; in dc_lex_string()
177 dc_lex_token(BcLex* l) in dc_lex_token() argument
179 char c = l->buf[l->i++], c2; in dc_lex_token()
189 if (l->last == dc_lex_regs[i]) in dc_lex_token()
191 dc_lex_register(l); in dc_lex_token()
199 (l->t = dc_lex_tokens[(c - '"')]) != BC_LEX_INVALID) in dc_lex_token()
216 bc_lex_commonTokens(l, c); in dc_lex_token()
224 c2 = l->buf[l->i]; in dc_lex_token()
226 if (c2 == '=') l->t = BC_LEX_OP_REL_NE; in dc_lex_token()
227 else if (c2 == '<') l->t = BC_LEX_OP_REL_LE; in dc_lex_token()
228 else if (c2 == '>') l->t = BC_LEX_OP_REL_GE; in dc_lex_token()
229 else bc_lex_invalidChar(l, c); in dc_lex_token()
231 l->i += 1; in dc_lex_token()
238 bc_lex_lineComment(l); in dc_lex_token()
244 c2 = l->buf[l->i]; in dc_lex_token()
250 bc_lex_number(l, c); in dc_lex_token()
252 else bc_lex_invalidChar(l, c); in dc_lex_token()
274 bc_lex_number(l, c); in dc_lex_token()
280 c2 = l->buf[l->i]; in dc_lex_token()
282 if (c2 == 'l') l->t = BC_LEX_KW_LINE_LENGTH; in dc_lex_token()
283 else if (c2 == 'x') l->t = BC_LEX_EXTENDED_REGISTERS; in dc_lex_token()
284 else if (c2 == 'z') l->t = BC_LEX_KW_LEADING_ZERO; in dc_lex_token()
285 else bc_lex_invalidChar(l, c2); in dc_lex_token()
287 l->i += 1; in dc_lex_token()
294 dc_lex_string(l); in dc_lex_token()
300 bc_lex_invalidChar(l, c); in dc_lex_token()