#include "lj_tab.h" #include "lj_ctype.h" #include "lj_cdata.h" #include "lualib.h" #endif #include "lj_state.h" #include "lj_lex.h" #include "lj_parse.h" #include "lj_char.h" #include "lj_strscan.h" /* Lua lexer token names. */ static const char *const tokennames[] = { #define TKSTR1(name) #name, #define TKSTR2(name, sym) #sym, TKDEF(TKSTR1, TKSTR2) #undef TKSTR1 #undef TKSTR2 NULL }; /* -- Buffer handling ----------------------------------------------------- */ #define char2int(c) ((int)(uint8_t)(c)) #define next(ls) \ (ls->current = (ls->n--) > 0 ? char2int(*ls->p++) : fillbuf(ls)) #define save_and_next(ls) (save(ls, ls->current), next(ls)) #define currIsNewline(ls) (ls->current == '\n' || ls->current == '\r') #define END_OF_STREAM (-1) static int fillbuf(LexState *ls)
#if LJ_HASFFI #include "lj_tab.h" #include "lj_ctype.h" #include "lj_cdata.h" #include "lualib.h" #endif #include "lj_state.h" #include "tj_lex.h" #include "tj_parse.h" #include "lj_char.h" #include "lj_strscan.h" /* tVM lexer token names. */ static const char *const tokennames[] = { #define TKSTR(name, sym) #sym, TKDEF(TKSTR) #undef TKSTR NULL }; /* -- Buffer handling ----------------------------------------------------- */ #define char2int(c) ((int)(uint8_t)(c)) #define next(ls) \ (ls->current = (ls->n--) > 0 ? char2int(*ls->p++) : fillbuf(ls)) #define save_and_next(ls) (save(ls, ls->current), next(ls)) #define currIsNewline(ls) (ls->current == '\n' || ls->current == '\r') #define END_OF_STREAM (-1) static int fillbuf(LexState *ls) {