{"id":545,"date":"2022-08-13T03:09:12","date_gmt":"2022-08-13T03:09:12","guid":{"rendered":"http:\/\/emacslisp.com\/?p=545"},"modified":"2022-08-13T03:09:42","modified_gmt":"2022-08-13T03:09:42","slug":"mysql-core-src-lex-parse-sql-statement","status":"publish","type":"post","link":"http:\/\/emacslisp.com\/?p=545","title":{"rendered":"MySQL Core Src &#8211; Lex\/Parse SQL Statement"},"content":{"rendered":"\n<p>SQL lex files:<\/p>\n\n\n\n<p>sql\/sql_lex.h\u3001sql\/lex_token.h\u3001sql\/lex.h\u3001sql\/lex_symbol.h<\/p>\n\n\n\n<p>sql\/gen_lex_token.cc\u3001sql\/sql_lex.cc<\/p>\n\n\n\n<p>SQL grammar parser file:<\/p>\n\n\n\n<p>sql\/sql_yacc.yy\u3001sql\/sql_yacc.cc\u3001sql\/sql_yacc.h<\/p>\n\n\n\n<p>SQL hint grammar parser file: <\/p>\n\n\n\n<p>sql\/sql_hints.yy\u3001sql\/sql_hints.yy.cc<\/p>\n\n\n\n<p>mysql use bison (lex\/yacc) to token sql statement and parse it, take sql_yacc.yy for example, it is main file contains all parse sql rules.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL lex files: sql\/sql_lex.h\u3001sql\/lex_token.h\u3001sql\/lex.h\u3001sql\/lex_symbol.h sql\/gen_lex_token.cc\u3001sql\/sql_lex.cc SQL grammar parser file: sql\/sql_yacc.yy\u3001sql\/sql_yacc.cc\u3001sql\/sql_yacc.h SQL hint grammar parser file: sql\/sql_hints.yy\u3001sql\/sql_hints.yy.cc mysql use bison (lex\/yacc) to token sql statement and parse it, take sql_yacc.yy for example, it is main file contains all parse sql rules.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-545","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts\/545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=545"}],"version-history":[{"count":2,"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts\/545\/revisions"}],"predecessor-version":[{"id":548,"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts\/545\/revisions\/548"}],"wp:attachment":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=545"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}