class OracleSqlParser::Grammar::ReservedWordGenerator
Public Class Methods
generate_grammer()
click to toggle source
# File lib/oracle-sql-parser/grammar/reserved_word_generator.rb, line 4 def self.generate_grammer filename = ARGV[1] || File.expand_path("./reserved_word.treetop", File.dirname(__FILE__)) File.open(filename, 'w') do |f| f.write self.generate_grammer_string(filename) end end
generate_grammer_string(filename)
click to toggle source
# File lib/oracle-sql-parser/grammar/reserved_word_generator.rb, line 62 def self.generate_grammer_string(filename) header = <<EOS # # #{File.basename(filename)} generated by #{__FILE__} at #{Time.now} # module OracleSqlParser::Grammar grammar ReservedWord EOS content = [] footer = <<EOS end end EOS not_match_keyword = MatchKeyword.new 'keyword' self.keywords.each do |keyword| rule = KeywordRule.new(keyword) content << rule.to_s not_match_keyword << keyword end content.unshift not_match_keyword.to_s header + content.join("\n") + footer end
keywords()
click to toggle source
# File lib/oracle-sql-parser/grammar/reserved_word_generator.rb, line 87 def self.keywords [ 'ACCESS', 'ADD', 'ALL', 'ALTER', 'AND', 'ANY', 'AS', 'ASC', 'AT', 'AUDIT', 'BETWEEN', 'BY', 'CASE', 'CAST', 'CHAR', 'CHECK', 'CLUSTER', 'COLUMN', 'COLUMN_VALUE', 'COMMENT', 'COMPRESS', 'CONNECT', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_OF', 'CURRVAL', 'CURSOR', 'DATE', 'DAY', 'DBTIMEZONE', 'DECIMAL', 'DEFAULT', 'DELETE', 'DESC', 'DISTINCT', 'DROP', 'ELSE', 'EMPTY', 'END', 'ESCAPE', 'EXCLUSIVE', 'EXISTS', 'FETCH', 'FILE', 'FIRST', 'FLOAT', 'FOR', 'FROM', 'FULL', 'GRANT', 'GROUP', 'HAVING', 'IDENTIFIED', 'IMMEDIATE', 'IN', 'INCREMENT', 'INDEX', 'INFINITE', 'INITIAL', 'INNER', 'INSERT', 'INTEGER', 'INTERSECT', 'INTO', 'IS', 'JOIN', 'LAST', 'LEFT', 'LEVEL', 'LIKE', 'LIKE2', 'LIKE4', 'LIKEC', 'LOCAL', 'LOCK', 'LONG', 'MAXEXTENTS', 'MEMBER', 'MINUS', 'MLSLABEL', 'MODE', 'MODIFY', 'MONTH', 'NAN', 'NATURAL', 'NESTED_TABLE_ID', 'NEXT', 'NEXTVAL', 'NOAUDIT', 'NOCOMPRESS', 'NOT', 'NOWAIT', 'NULL', 'NULLS', 'NUMBER', 'OF', 'OFFLINE', 'OFFSET', 'ON', 'ONLINE', 'ONLY', 'OPTION', 'OR', 'ORDER', 'OUTER', 'PCTFREE', 'PERCENT', 'PRIOR', 'PRIVILEGES', 'PUBLIC', 'RAW', 'REGEXP_LIKE', 'RENAME', 'RESOURCE', 'REVOKE', 'RIGHT', 'ROLLUP', 'ROW', 'ROWID', 'ROWNUM', 'ROWS', 'SECOND', 'SELECT', 'SESSION', 'SESSIONTIMEZONE', 'SET', 'SHARE', 'SIBLINGS', 'SIZE', 'SMALLINT', 'START', 'SUBMULTISET', 'SUCCESSFUL', 'SYNONYM', 'SYSDATE', 'SYSTIMESTAMP', 'TABLE', 'THEN', 'TIES', 'TIME', 'TO', 'TRIGGER', 'TYPE', 'UID', 'UNION', 'UNIQUE', 'UPDATE', 'USER', 'USING', 'VALIDATE', 'VALUES', 'VARCHAR', 'VARCHAR2', 'VIEW', 'WAIT', 'WHEN', 'WHENEVER', 'WHERE', 'WITH', 'YEAR', 'ZONE', ] end