소스 검색

stuff

master
Martin Dørum 3 년 전
부모
커밋
3580a28e00
2개의 변경된 파일23개의 추가작업 그리고 0개의 파일을 삭제
  1. 9
    0
      include/lang2/parse/parse.h
  2. 14
    0
      src/parse/parse.c

+ 9
- 0
include/lang2/parse/parse.h 파일 보기

@@ -3,12 +3,21 @@

#include "lex.h"
#include "../io.h"
#include "../strset.h"

struct l2_parse_state {
struct l2_lexer *lexer;
struct l2_bufio_writer writer;
struct l2_strset atoms;
struct l2_strset strings;
};

void l2_parse_init(
struct l2_parse_state *state,
struct l2_lexer *lexer, struct l2_io_writer *w);

void l2_parse_free(struct l2_parse_state *state);

void l2_parse_program(struct l2_parse_state *state);

#endif

+ 14
- 0
src/parse/parse.c 파일 보기

@@ -2,6 +2,20 @@

#include "gen/gen.h"

void l2_parse_init(
struct l2_parse_state *state,
struct l2_lexer *lexer, struct l2_io_writer *w) {
state->lexer = lexer;
l2_bufio_writer_init(&state->writer, w);
l2_strset_init(&state->atoms);
l2_strset_init(&state->strings);
}

void l2_parse_free(struct l2_parse_state *state) {
l2_strset_free(&state->atoms);
l2_strset_free(&state->strings);
}

void l2_parse_program(struct l2_parse_state *state) {
l2_gen_stack_frame(&state->writer);
}

Loading…
취소
저장