mirror of https://github.com/rui314/9cc.git
Rename.
This commit is contained in:
parent
3a06a615c0
commit
316525a1c7
18
parse.c
18
parse.c
|
@ -21,7 +21,7 @@ typedef struct Env {
|
|||
Map *vars;
|
||||
Map *typedefs;
|
||||
Map *tags;
|
||||
struct Env *next;
|
||||
struct Env *prev;
|
||||
} Env;
|
||||
|
||||
static Program *prog;
|
||||
|
@ -36,17 +36,17 @@ struct Env *env;
|
|||
|
||||
static Node null_stmt = {ND_NULL};
|
||||
|
||||
static Env *new_env(Env *next) {
|
||||
static Env *new_env(Env *prev) {
|
||||
Env *env = calloc(1, sizeof(Env));
|
||||
env->vars = new_map();
|
||||
env->typedefs = new_map();
|
||||
env->tags = new_map();
|
||||
env->next = next;
|
||||
env->prev = prev;
|
||||
return env;
|
||||
}
|
||||
|
||||
static Var *find_var(char *name) {
|
||||
for (Env *e = env; e; e = e->next) {
|
||||
for (Env *e = env; e; e = e->prev) {
|
||||
Var *var = map_get(e->vars, name);
|
||||
if (var)
|
||||
return var;
|
||||
|
@ -55,7 +55,7 @@ static Var *find_var(char *name) {
|
|||
}
|
||||
|
||||
static Type *find_typedef(char *name) {
|
||||
for (Env *e = env; e; e = e->next) {
|
||||
for (Env *e = env; e; e = e->prev) {
|
||||
Type *ty = map_get(e->typedefs, name);
|
||||
if (ty)
|
||||
return ty;
|
||||
|
@ -64,7 +64,7 @@ static Type *find_typedef(char *name) {
|
|||
}
|
||||
|
||||
static Type *find_tag(char *name) {
|
||||
for (Env *e = env; e; e = e->next) {
|
||||
for (Env *e = env; e; e = e->prev) {
|
||||
Type *ty = map_get(e->tags, name);
|
||||
if (ty)
|
||||
return ty;
|
||||
|
@ -304,7 +304,7 @@ static Node *stmt_expr() {
|
|||
vec_push(v, stmt());
|
||||
} while (!consume('}'));
|
||||
expect(')');
|
||||
env = env->next;
|
||||
env = env->prev;
|
||||
|
||||
Node *last = vec_pop(v);
|
||||
if (last->op != ND_EXPR_STMT)
|
||||
|
@ -771,7 +771,7 @@ static Node *stmt() {
|
|||
|
||||
vec_pop(breaks);
|
||||
vec_pop(continues);
|
||||
env = env->next;
|
||||
env = env->prev;
|
||||
return node;
|
||||
}
|
||||
case TK_WHILE: {
|
||||
|
@ -871,7 +871,7 @@ static Node *compound_stmt() {
|
|||
env = new_env(env);
|
||||
while (!consume('}'))
|
||||
vec_push(node->stmts, stmt());
|
||||
env = env->next;
|
||||
env = env->prev;
|
||||
return node;
|
||||
}
|
||||
|
||||
|
|
|
@ -8,16 +8,16 @@ typedef struct Env {
|
|||
Vector *input;
|
||||
Vector *output;
|
||||
int pos;
|
||||
struct Env *next;
|
||||
struct Env *prev;
|
||||
} Env;
|
||||
|
||||
static Env *env;
|
||||
|
||||
static Env *new_env(Env *next, Vector *input) {
|
||||
static Env *new_env(Env *prev, Vector *input) {
|
||||
Env *env = calloc(1, sizeof(Env));
|
||||
env->input = input;
|
||||
env->output = new_vec();
|
||||
env->next = next;
|
||||
env->prev = prev;
|
||||
return env;
|
||||
}
|
||||
|
||||
|
@ -315,6 +315,6 @@ Vector *preprocess(Vector *tokens) {
|
|||
}
|
||||
|
||||
Vector *v = env->output;
|
||||
env = env->next;
|
||||
env = env->prev;
|
||||
return v;
|
||||
}
|
||||
|
|
8
token.c
8
token.c
|
@ -4,7 +4,7 @@ typedef struct Env {
|
|||
char *path;
|
||||
char *buf;
|
||||
Vector *tokens;
|
||||
struct Env *next;
|
||||
struct Env *prev;
|
||||
} Env;
|
||||
|
||||
static Env *env;
|
||||
|
@ -38,12 +38,12 @@ static char *read_file(FILE *fp) {
|
|||
return sb_get(sb);
|
||||
}
|
||||
|
||||
static Env *new_env(Env *next, char *path, char *buf) {
|
||||
static Env *new_env(Env *prev, char *path, char *buf) {
|
||||
Env *env = calloc(1, sizeof(Env));
|
||||
env->path = strcmp(path, "-") ? path : "(stdin)";
|
||||
env->buf = buf;
|
||||
env->tokens = new_vec();
|
||||
env->next = next;
|
||||
env->prev = prev;
|
||||
return env;
|
||||
}
|
||||
|
||||
|
@ -498,7 +498,7 @@ Vector *tokenize(char *path, bool add_eof) {
|
|||
if (add_eof)
|
||||
add(TK_EOF, NULL);
|
||||
Vector *v = env->tokens;
|
||||
env = env->next;
|
||||
env = env->prev;
|
||||
|
||||
v = preprocess(v);
|
||||
v = strip_newline_tokens(v);
|
||||
|
|
Loading…
Reference in New Issue