Lines Matching full:scanner

2  * scanner.c, libyaml scanner binding for Lua
39 scanner_delete_token (lyaml_scanner *scanner) in scanner_delete_token() argument
41 if (scanner->validtoken) in scanner_delete_token()
43 yaml_token_delete (&scanner->token); in scanner_delete_token()
44 scanner->validtoken = 0; in scanner_delete_token()
65 scanner_push_tokentable (lyaml_scanner *scanner, const char *v, int n) in scanner_push_tokentable() argument
67 lua_State *L = scanner->L; in scanner_push_tokentable()
72 #define MENTRY(_s) scanner_set_mark (L, #_s, scanner->token._s) in scanner_push_tokentable()
79 scan_STREAM_START (lyaml_scanner *scanner) in scan_STREAM_START() argument
81 #define EVENTF(_f) (scanner->token.data.stream_start._f) in scan_STREAM_START()
82 lua_State *L = scanner->L; in scan_STREAM_START()
99 scanner_push_tokentable (scanner, "STREAM_START", 1); in scan_STREAM_START()
105 scan_VERSION_DIRECTIVE (lyaml_scanner *scanner) in scan_VERSION_DIRECTIVE() argument
107 #define EVENTF(_f) (scanner->token.data.version_directive._f) in scan_VERSION_DIRECTIVE()
108 lua_State *L = scanner->L; in scan_VERSION_DIRECTIVE()
110 scanner_push_tokentable (scanner, "VERSION_DIRECTIVE", 2); in scan_VERSION_DIRECTIVE()
120 scan_TAG_DIRECTIVE (lyaml_scanner *scanner) in scan_TAG_DIRECTIVE() argument
122 #define EVENTF(_f) (scanner->token.data.tag_directive._f) in scan_TAG_DIRECTIVE()
123 lua_State *L = scanner->L; in scan_TAG_DIRECTIVE()
125 scanner_push_tokentable (scanner, "TAG_DIRECTIVE", 2); in scan_TAG_DIRECTIVE()
132 scan_ALIAS (lyaml_scanner *scanner) in scan_ALIAS() argument
134 #define EVENTF(_f) (scanner->token.data.alias._f) in scan_ALIAS()
135 lua_State *L = scanner->L; in scan_ALIAS()
137 scanner_push_tokentable (scanner, "ALIAS", 1); in scan_ALIAS()
143 scan_ANCHOR (lyaml_scanner *scanner) in scan_ANCHOR() argument
145 #define EVENTF(_f) (scanner->token.data.anchor._f) in scan_ANCHOR()
146 lua_State *L = scanner->L; in scan_ANCHOR()
148 scanner_push_tokentable (scanner, "ANCHOR", 1); in scan_ANCHOR()
154 scan_TAG(lyaml_scanner *scanner) in scan_TAG() argument
156 #define EVENTF(_f) (scanner->token.data.tag._f) in scan_TAG()
157 lua_State *L = scanner->L; in scan_TAG()
159 scanner_push_tokentable (scanner, "TAG", 2); in scan_TAG()
166 scan_SCALAR (lyaml_scanner *scanner) in scan_SCALAR() argument
168 #define EVENTF(_f) (scanner->token.data.scalar._f) in scan_SCALAR()
169 lua_State *L = scanner->L; in scan_SCALAR()
189 scanner_push_tokentable (scanner, "SCALAR", 3); in scan_SCALAR()
197 scanner_generate_error_message (lyaml_scanner *scanner) in scanner_generate_error_message() argument
199 yaml_parser_t *P = &scanner->parser; in scanner_generate_error_message()
203 luaL_buffinit (scanner->L, &b); in scanner_generate_error_message()
205 snprintf (buf, sizeof (buf), " at document: %d", scanner->document_count); in scanner_generate_error_message()
232 lyaml_scanner *scanner = (lyaml_scanner *)lua_touserdata(L, lua_upvalueindex(1)); in token_iter() local
235 scanner_delete_token (scanner); in token_iter()
236 if (yaml_parser_scan (&scanner->parser, &scanner->token) != 1) in token_iter()
238 scanner_generate_error_message (scanner); in token_iter()
242 scanner->validtoken = 1; in token_iter()
247 switch (scanner->token.type) in token_iter()
251 case YAML_##_s##_TOKEN: scanner_push_tokentable (scanner, #_s, 0); break in token_iter()
270 case YAML_##_s##_TOKEN: scan_##_s (scanner); break in token_iter()
284 lua_pushfstring (L, "invalid token %d", scanner->token.type); in token_iter()
294 lyaml_scanner *scanner = (lyaml_scanner *) lua_touserdata (L, 1); in scanner_gc() local
296 if (scanner) in scanner_gc()
298 scanner_delete_token (scanner); in scanner_gc()
299 yaml_parser_delete (&scanner->parser); in scanner_gc()
307 luaL_newmetatable (L, "lyaml.scanner"); in scanner_init()
315 lyaml_scanner *scanner; in Pscanner() local
322 /* create a user datum to store the scanner */ in Pscanner()
323 scanner = (lyaml_scanner *) lua_newuserdata (L, sizeof (*scanner)); in Pscanner()
324 memset ((void *) scanner, 0, sizeof (*scanner)); in Pscanner()
325 scanner->L = L; in Pscanner()
328 luaL_getmetatable (L, "lyaml.scanner"); in Pscanner()
331 /* try to initialize the scanner */ in Pscanner()
332 if (yaml_parser_initialize (&scanner->parser) == 0) in Pscanner()
334 yaml_parser_set_input_string (&scanner->parser, str, lua_strlen (L, 1)); in Pscanner()