Class: ConstraintParser::Parser
- Inherits:
-
Racc::Parser
- Object
- Racc::Parser
- ConstraintParser::Parser
- Defined in:
- lib/parser.rb
Constant Summary collapse
- Racc_arg =
[ racc_action_table, racc_action_check, racc_action_default, racc_action_pointer, racc_goto_table, racc_goto_check, racc_goto_default, racc_goto_pointer, racc_nt_base, racc_reduce_table, racc_token_table, racc_shift_n, racc_reduce_n, racc_use_result_var ]
- Racc_token_to_s_table =
[ "$end", "error", "PLUS", "MATCH_OP", "GTEQ", "LTEQ", "NEQ", "EQ", "GT", "LT", "AND", "CASCADE", "CHECK", "COMMA", "DELETE", "FOREIGN_KEY", "IDENT", "INT", "LPAREN", "NEWLINE", "ON", "PRIMARY_KEY", "REFERENCES", "RESTRICT", "RPAREN", "SPACE", "STRLIT", "TYPE", "UNIQUE", "$start", "constraint", "unique_column", "check_statement", "foreign_key", "expr", "type_signature", "operator", "column_spec", "table_spec", "action_spec" ]
- Racc_debug_parser =
false
Instance Method Summary collapse
-
#_reduce_1(val, _values, result) ⇒ Object
reduce 0 omitted.
- #_reduce_10(val, _values, result) ⇒ Object
- #_reduce_11(val, _values, result) ⇒ Object
- #_reduce_12(val, _values, result) ⇒ Object
- #_reduce_13(val, _values, result) ⇒ Object
- #_reduce_14(val, _values, result) ⇒ Object
- #_reduce_15(val, _values, result) ⇒ Object
- #_reduce_16(val, _values, result) ⇒ Object
- #_reduce_17(val, _values, result) ⇒ Object
- #_reduce_18(val, _values, result) ⇒ Object
- #_reduce_19(val, _values, result) ⇒ Object
- #_reduce_2(val, _values, result) ⇒ Object
- #_reduce_20(val, _values, result) ⇒ Object
- #_reduce_21(val, _values, result) ⇒ Object
- #_reduce_22(val, _values, result) ⇒ Object
- #_reduce_23(val, _values, result) ⇒ Object
- #_reduce_24(val, _values, result) ⇒ Object
- #_reduce_25(val, _values, result) ⇒ Object
- #_reduce_26(val, _values, result) ⇒ Object
- #_reduce_27(val, _values, result) ⇒ Object
- #_reduce_28(val, _values, result) ⇒ Object
- #_reduce_3(val, _values, result) ⇒ Object
- #_reduce_4(val, _values, result) ⇒ Object
- #_reduce_5(val, _values, result) ⇒ Object
- #_reduce_6(val, _values, result) ⇒ Object
- #_reduce_7(val, _values, result) ⇒ Object
- #_reduce_8(val, _values, result) ⇒ Object
- #_reduce_9(val, _values, result) ⇒ Object
- #_reduce_none(val, _values, result) ⇒ Object
-
#initialize(tokenizer, handler = nil) ⇒ Parser
constructor
A new instance of Parser.
- #next_token ⇒ Object
- #parse ⇒ Object
Constructor Details
#initialize(tokenizer, handler = nil) ⇒ Parser
Returns a new instance of Parser.
15 16 17 18 |
# File 'lib/parser.rb', line 15 def initialize tokenizer, handler = nil @tokenizer = tokenizer super() end |
Instance Method Details
#_reduce_1(val, _values, result) ⇒ Object
reduce 0 omitted
215 216 217 218 |
# File 'lib/parser.rb', line 215 def _reduce_1(val, _values, result) result = val[0] result end |
#_reduce_10(val, _values, result) ⇒ Object
260 261 262 263 |
# File 'lib/parser.rb', line 260 def _reduce_10(val, _values, result) result = IdentNode.new(val[0]) result end |
#_reduce_11(val, _values, result) ⇒ Object
265 266 267 268 |
# File 'lib/parser.rb', line 265 def _reduce_11(val, _values, result) result = StrLitNode.new(val[0]) result end |
#_reduce_12(val, _values, result) ⇒ Object
270 271 272 273 |
# File 'lib/parser.rb', line 270 def _reduce_12(val, _values, result) result = IntNode.new(val[0]) result end |
#_reduce_13(val, _values, result) ⇒ Object
275 276 277 278 |
# File 'lib/parser.rb', line 275 def _reduce_13(val, _values, result) result = :gteq result end |
#_reduce_14(val, _values, result) ⇒ Object
280 281 282 283 |
# File 'lib/parser.rb', line 280 def _reduce_14(val, _values, result) result = :lteq result end |
#_reduce_15(val, _values, result) ⇒ Object
285 286 287 288 |
# File 'lib/parser.rb', line 285 def _reduce_15(val, _values, result) result = :neq result end |
#_reduce_16(val, _values, result) ⇒ Object
290 291 292 293 |
# File 'lib/parser.rb', line 290 def _reduce_16(val, _values, result) result = :eq result end |
#_reduce_17(val, _values, result) ⇒ Object
295 296 297 298 |
# File 'lib/parser.rb', line 295 def _reduce_17(val, _values, result) result = :gt result end |
#_reduce_18(val, _values, result) ⇒ Object
300 301 302 303 |
# File 'lib/parser.rb', line 300 def _reduce_18(val, _values, result) result = :lt result end |
#_reduce_19(val, _values, result) ⇒ Object
305 306 307 308 |
# File 'lib/parser.rb', line 305 def _reduce_19(val, _values, result) result = :plus result end |
#_reduce_2(val, _values, result) ⇒ Object
220 221 222 223 |
# File 'lib/parser.rb', line 220 def _reduce_2(val, _values, result) result = val[0] result end |
#_reduce_20(val, _values, result) ⇒ Object
310 311 312 313 |
# File 'lib/parser.rb', line 310 def _reduce_20(val, _values, result) result = :match result end |
#_reduce_21(val, _values, result) ⇒ Object
315 316 317 318 |
# File 'lib/parser.rb', line 315 def _reduce_21(val, _values, result) result = :and result end |
#_reduce_22(val, _values, result) ⇒ Object
320 321 322 323 |
# File 'lib/parser.rb', line 320 def _reduce_22(val, _values, result) result = IdentNode.new(val[1]) result end |
#_reduce_23(val, _values, result) ⇒ Object
325 326 327 328 |
# File 'lib/parser.rb', line 325 def _reduce_23(val, _values, result) result = ForeignKeyNode.new(val[1], val[3]) result end |
#_reduce_24(val, _values, result) ⇒ Object
330 331 332 333 |
# File 'lib/parser.rb', line 330 def _reduce_24(val, _values, result) result = ForeignKeyNode.new(val[1], val[3], val[4]) result end |
#_reduce_25(val, _values, result) ⇒ Object
335 336 337 338 |
# File 'lib/parser.rb', line 335 def _reduce_25(val, _values, result) result = IdentNode.new(val[1]) result end |
#_reduce_26(val, _values, result) ⇒ Object
340 341 342 343 |
# File 'lib/parser.rb', line 340 def _reduce_26(val, _values, result) result = TableNode.new(IdentNode.new(val[0]), val[1]) result end |
#_reduce_27(val, _values, result) ⇒ Object
345 346 347 348 |
# File 'lib/parser.rb', line 345 def _reduce_27(val, _values, result) result = ActionNode.new(:delete, :restrict) result end |
#_reduce_28(val, _values, result) ⇒ Object
350 351 352 353 |
# File 'lib/parser.rb', line 350 def _reduce_28(val, _values, result) result = ActionNode.new(:delete, :cascade) result end |
#_reduce_3(val, _values, result) ⇒ Object
225 226 227 228 |
# File 'lib/parser.rb', line 225 def _reduce_3(val, _values, result) result = val[0] result end |
#_reduce_4(val, _values, result) ⇒ Object
230 231 232 233 |
# File 'lib/parser.rb', line 230 def _reduce_4(val, _values, result) result = UniqueNode.new(IdentNode.new(val[2])) result end |
#_reduce_5(val, _values, result) ⇒ Object
235 236 237 238 |
# File 'lib/parser.rb', line 235 def _reduce_5(val, _values, result) result = CheckNode.new(val[1]) result end |
#_reduce_6(val, _values, result) ⇒ Object
240 241 242 243 |
# File 'lib/parser.rb', line 240 def _reduce_6(val, _values, result) result = EmptyExprNode.new :empty result end |
#_reduce_7(val, _values, result) ⇒ Object
245 246 247 248 |
# File 'lib/parser.rb', line 245 def _reduce_7(val, _values, result) result = ExprNode.new(val[1]) result end |
#_reduce_8(val, _values, result) ⇒ Object
250 251 252 253 |
# File 'lib/parser.rb', line 250 def _reduce_8(val, _values, result) result = TypedExprNode.new(val[0], val[1]) result end |
#_reduce_9(val, _values, result) ⇒ Object
255 256 257 258 |
# File 'lib/parser.rb', line 255 def _reduce_9(val, _values, result) result = OperatorNode.new(val[1], val[0], val[2]) result end |
#_reduce_none(val, _values, result) ⇒ Object
355 356 357 |
# File 'lib/parser.rb', line 355 def _reduce_none(val, _values, result) val[0] end |
#next_token ⇒ Object
20 21 22 |
# File 'lib/parser.rb', line 20 def next_token @tokenizer.next_token end |
#parse ⇒ Object
24 25 26 |
# File 'lib/parser.rb', line 24 def parse do_parse end |