www.pudn.com > ASM86_64.rar > lable.h
#ifndef _LABLE_H_
#define _LABLE_H_
/* lable and variable link struct */
struct token {
char *name;
unsigned long long address;
unsigned long line;
};
struct token_link {
struct token *token;
struct token_link *next, *prev;
};
/* indicate the lable direction of pc-relative instruction */
enum lable_direction {
LABLE_UNKNOWN,
LABLE_THIS,
LABLE_UP,
LABLE_DOWN
};
/* encode hole */
struct encode_hole {
enum lable_direction direction;
struct encode_hole *next, *prev;
};
struct token_link *lable_table;
struct token_link *var_table;
struct token_link *tail_lable_table;
struct token_link *head_lable_table;
struct token_link *tail_var_table;
struct token_link *head_var_table;
/*
struct token_link *get_lable_table();
struct token_link *get_var_table();
*/
int is_free_sym(char *s);
int is_lable(char *s);
int is_variable(char *s);
int is_valid_sym(char *s);
#endif