HelenOS sources
lex 164 uspace/app/sbi/src/builtin.c lex_t lex;
lex 168 uspace/app/sbi/src/builtin.c lex_init(&lex, input);
lex 169 uspace/app/sbi/src/builtin.c parse_init(&parse, bi->program, &lex);
lex 68 uspace/app/sbi/src/imode.c lex_t lex;
lex 152 uspace/app/sbi/src/imode.c lex_init(&lex, input);
lex 153 uspace/app/sbi/src/imode.c parse_init(&parse, program, &lex);
lex 52 uspace/app/sbi/src/lex.c static void lex_touch(lex_t *lex);
lex 53 uspace/app/sbi/src/lex.c static bool_t lex_read_try(lex_t *lex);
lex 55 uspace/app/sbi/src/lex.c static void lex_skip_comment(lex_t *lex);
lex 56 uspace/app/sbi/src/lex.c static void lex_skip_ws(lex_t *lex);
lex 60 uspace/app/sbi/src/lex.c static void lex_word(lex_t *lex);
lex 61 uspace/app/sbi/src/lex.c static void lex_char(lex_t *lex);
lex 62 uspace/app/sbi/src/lex.c static void lex_number(lex_t *lex);
lex 63 uspace/app/sbi/src/lex.c static void lex_string(lex_t *lex);
lex 64 uspace/app/sbi/src/lex.c static void lex_char_string_core(lex_t *lex, chr_str_t cs);
lex 257 uspace/app/sbi/src/lex.c void lex_init(lex_t *lex, struct input *input)
lex 261 uspace/app/sbi/src/lex.c lex->input = input;
lex 263 uspace/app/sbi/src/lex.c rc = input_get_line(lex->input, &lex->inbuf);
lex 269 uspace/app/sbi/src/lex.c lex->ibp = lex->inbuf;
lex 270 uspace/app/sbi/src/lex.c lex->col_adj = 0;
lex 271 uspace/app/sbi/src/lex.c lex->prev_valid = b_false;
lex 272 uspace/app/sbi/src/lex.c lex->current_valid = b_true;
lex 281 uspace/app/sbi/src/lex.c void lex_next(lex_t *lex)
lex 284 uspace/app/sbi/src/lex.c lex_touch(lex);
lex 287 uspace/app/sbi/src/lex.c lex->current_valid = b_false;
lex 298 uspace/app/sbi/src/lex.c lem_t *lex_get_current(lex_t *lex)
lex 300 uspace/app/sbi/src/lex.c lex_touch(lex);
lex 301 uspace/app/sbi/src/lex.c return &lex->current;
lex 312 uspace/app/sbi/src/lex.c lem_t *lex_peek_prev(lex_t *lex)
lex 314 uspace/app/sbi/src/lex.c if (lex->current_valid == b_false) {
lex 319 uspace/app/sbi/src/lex.c return &lex->current;
lex 322 uspace/app/sbi/src/lex.c if (lex->prev_valid != b_true) {
lex 331 uspace/app/sbi/src/lex.c return &lex->prev;
lex 338 uspace/app/sbi/src/lex.c static void lex_touch(lex_t *lex)
lex 342 uspace/app/sbi/src/lex.c if (lex->current_valid == b_true)
lex 346 uspace/app/sbi/src/lex.c lex->prev = lex->current;
lex 347 uspace/app/sbi/src/lex.c lex->prev_valid = b_true;
lex 350 uspace/app/sbi/src/lex.c got_lem = lex_read_try(lex);
lex 353 uspace/app/sbi/src/lex.c lex->current_valid = b_true;
lex 367 uspace/app/sbi/src/lex.c static bool_t lex_read_try(lex_t *lex)
lex 372 uspace/app/sbi/src/lex.c lex_skip_ws(lex);
lex 380 uspace/app/sbi/src/lex.c line0 = input_get_line_no(lex->input);
lex 381 uspace/app/sbi/src/lex.c col0 = 1 + lex->col_adj + (lex->ibp - lex->inbuf);
lex 383 uspace/app/sbi/src/lex.c lex->current.cspan = cspan_new(lex->input, line0, col0, line0, col0);
lex 385 uspace/app/sbi/src/lex.c lsp = lex->ibp;
lex 386 uspace/app/sbi/src/lex.c bp = lex->ibp;
lex 390 uspace/app/sbi/src/lex.c lex->current.lclass = lc_eof;
lex 395 uspace/app/sbi/src/lex.c lex_word(lex);
lex 400 uspace/app/sbi/src/lex.c lex_char(lex);
lex 405 uspace/app/sbi/src/lex.c lex_number(lex);
lex 410 uspace/app/sbi/src/lex.c lex_string(lex);
lex 415 uspace/app/sbi/src/lex.c lex_skip_comment(lex);
lex 418 uspace/app/sbi/src/lex.c lex->current.cspan->col1 = col0 + (lex->ibp - lsp) - 1;
lex 426 uspace/app/sbi/src/lex.c lex->current.lclass = lc_comma;
lex 430 uspace/app/sbi/src/lex.c lex->current.lclass = lc_colon;
lex 434 uspace/app/sbi/src/lex.c lex->current.lclass = lc_scolon;
lex 439 uspace/app/sbi/src/lex.c lex->current.lclass = lc_period;
lex 443 uspace/app/sbi/src/lex.c lex->current.lclass = lc_slash;
lex 447 uspace/app/sbi/src/lex.c lex->current.lclass = lc_lparen;
lex 451 uspace/app/sbi/src/lex.c lex->current.lclass = lc_rparen;
lex 455 uspace/app/sbi/src/lex.c lex->current.lclass = lc_lsbr;
lex 459 uspace/app/sbi/src/lex.c lex->current.lclass = lc_rsbr;
lex 465 uspace/app/sbi/src/lex.c lex->current.lclass = lc_equal;
lex 469 uspace/app/sbi/src/lex.c lex->current.lclass = lc_assign;
lex 475 uspace/app/sbi/src/lex.c lex->current.lclass = lc_notequal;
lex 483 uspace/app/sbi/src/lex.c lex->current.lclass = lc_increase;
lex 487 uspace/app/sbi/src/lex.c lex->current.lclass = lc_plus;
lex 492 uspace/app/sbi/src/lex.c lex->current.lclass = lc_minus;
lex 497 uspace/app/sbi/src/lex.c lex->current.lclass = lc_mult;
lex 503 uspace/app/sbi/src/lex.c lex->current.lclass = lc_lt_equal;
lex 507 uspace/app/sbi/src/lex.c lex->current.lclass = lc_lt;
lex 513 uspace/app/sbi/src/lex.c lex->current.lclass = lc_gt_equal;
lex 517 uspace/app/sbi/src/lex.c lex->current.lclass = lc_gt;
lex 525 uspace/app/sbi/src/lex.c lex->ibp = bp;
lex 529 uspace/app/sbi/src/lex.c lex->current.cspan->col1 = col0 + (lex->ibp - lsp) - 1;
lex 533 uspace/app/sbi/src/lex.c lex->current.lclass = lc_invalid;
lex 535 uspace/app/sbi/src/lex.c lex->ibp = bp;
lex 547 uspace/app/sbi/src/lex.c static void lex_word(lex_t *lex)
lex 553 uspace/app/sbi/src/lex.c bp = lex->ibp;
lex 567 uspace/app/sbi/src/lex.c lex->ibp = bp + idx;
lex 575 uspace/app/sbi/src/lex.c lex->current.lclass = dp->lclass;
lex 582 uspace/app/sbi/src/lex.c lex->current.lclass = lc_ident;
lex 583 uspace/app/sbi/src/lex.c lex->current.u.ident.sid = strtab_get_sid(ident_buf);
lex 592 uspace/app/sbi/src/lex.c static void lex_char(lex_t *lex)
lex 597 uspace/app/sbi/src/lex.c lex_char_string_core(lex, cs_chr);
lex 607 uspace/app/sbi/src/lex.c lex->current.lclass = lc_lit_char;
lex 608 uspace/app/sbi/src/lex.c bigint_init(&lex->current.u.lit_char.value, char_val);
lex 617 uspace/app/sbi/src/lex.c static void lex_number(lex_t *lex)
lex 625 uspace/app/sbi/src/lex.c bp = lex->ibp;
lex 644 uspace/app/sbi/src/lex.c lex->ibp = bp;
lex 646 uspace/app/sbi/src/lex.c lex->current.lclass = lc_lit_int;
lex 647 uspace/app/sbi/src/lex.c bigint_shallow_copy(&value, &lex->current.u.lit_int.value);
lex 656 uspace/app/sbi/src/lex.c static void lex_string(lex_t *lex)
lex 658 uspace/app/sbi/src/lex.c lex_char_string_core(lex, cs_str);
lex 660 uspace/app/sbi/src/lex.c lex->current.lclass = lc_lit_string;
lex 661 uspace/app/sbi/src/lex.c lex->current.u.lit_string.value = os_str_dup(strlit_buf);
lex 664 uspace/app/sbi/src/lex.c static void lex_char_string_core(lex_t *lex, chr_str_t cs)
lex 690 uspace/app/sbi/src/lex.c bp = lex->ibp + 1;
lex 736 uspace/app/sbi/src/lex.c lex->ibp = bp + sidx + 1;
lex 747 uspace/app/sbi/src/lex.c static void lex_skip_comment(lex_t *lex)
lex 751 uspace/app/sbi/src/lex.c bp = lex->ibp + 2;
lex 757 uspace/app/sbi/src/lex.c lex->ibp = bp;
lex 766 uspace/app/sbi/src/lex.c static void lex_skip_ws(lex_t *lex)
lex 771 uspace/app/sbi/src/lex.c bp = lex->ibp;
lex 777 uspace/app/sbi/src/lex.c lex->col_adj += (TAB_WIDTH - 1);
lex 786 uspace/app/sbi/src/lex.c rc = input_get_line(lex->input, &lex->inbuf);
lex 792 uspace/app/sbi/src/lex.c bp = lex->inbuf;
lex 793 uspace/app/sbi/src/lex.c lex->col_adj = 0;
lex 796 uspace/app/sbi/src/lex.c lex->ibp = bp;
lex 38 uspace/app/sbi/src/lex.h void lex_init(lex_t *lex, struct input *input);
lex 39 uspace/app/sbi/src/lex.h void lex_next(lex_t *lex);
lex 40 uspace/app/sbi/src/lex.h lem_t *lex_get_current(lex_t *lex);
lex 41 uspace/app/sbi/src/lex.h lem_t *lex_peek_prev(lex_t *lex);
lex 106 uspace/app/sbi/src/parse.c void parse_init(parse_t *parse, stree_program_t *prog, struct lex *lex)
lex 110 uspace/app/sbi/src/parse.c parse->lex = lex;
lex 115 uspace/app/sbi/src/parse.c lex_next(parse->lex);
lex 159 uspace/app/sbi/src/parse.c lex_next(parse->lex);
lex 343 uspace/app/sbi/src/parse.c lex_next(parse->lex);
lex 1564 uspace/app/sbi/src/parse.c return lex_get_current(parse->lex);
lex 1622 uspace/app/sbi/src/parse.c lem = lex_peek_prev(parse->lex);
lex 1638 uspace/app/sbi/src/parse.c lex_next(parse->lex);
lex 34 uspace/app/sbi/src/parse.h void parse_init(parse_t *parse, struct stree_program *prog, struct lex *lex);
lex 35 uspace/app/sbi/src/parse_t.h struct lex *lex;
lex 60 uspace/app/sbi/src/program.c lex_t lex;
lex 71 uspace/app/sbi/src/program.c lex_init(&lex, input);
lex 72 uspace/app/sbi/src/program.c parse_init(&parse, program, &lex);
HelenOS homepage, sources at GitHub