Class: NodeQueryParser
- Inherits:
-
Racc::Parser
- Object
- Racc::Parser
- NodeQueryParser
- Defined in:
- lib/node_query_parser.racc.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", "tCOMMA", "tNODE_TYPE", "tGOTO_SCOPE", "tKEY", "tIDENTIFIER_VALUE", "tPSEUDO_CLASS", "tRELATIONSHIP", "tOPEN_ATTRIBUTE", "tCLOSE_ATTRIBUTE", "tOPEN_ARRAY", "tCLOSE_ARRAY", "tOPEN_SELECTOR", "tCLOSE_SELECTOR", "tPOSITION", "tOPERATOR", "tARRAY_VALUE", "tBOOLEAN", "tFLOAT", "tINTEGER", "tNIL", "tREGEXP", "tSTRING", "tSYMBOL", "$start", "expression_list", "expression", "selector", "basic_selector", "attribute_list", "attribute", "value", "array_value" ]
- Racc_debug_parser =
false
Instance Method Summary collapse
-
#_reduce_1(val, _values) ⇒ Object
reduce 0 omitted.
- #_reduce_10(val, _values) ⇒ Object
- #_reduce_11(val, _values) ⇒ Object
- #_reduce_12(val, _values) ⇒ Object
- #_reduce_13(val, _values) ⇒ Object
- #_reduce_14(val, _values) ⇒ Object
- #_reduce_15(val, _values) ⇒ Object
- #_reduce_16(val, _values) ⇒ Object
- #_reduce_17(val, _values) ⇒ Object
- #_reduce_18(val, _values) ⇒ Object
- #_reduce_2(val, _values) ⇒ Object
-
#_reduce_20(val, _values) ⇒ Object
reduce 19 omitted.
- #_reduce_21(val, _values) ⇒ Object
- #_reduce_22(val, _values) ⇒ Object
- #_reduce_23(val, _values) ⇒ Object
- #_reduce_24(val, _values) ⇒ Object
- #_reduce_25(val, _values) ⇒ Object
- #_reduce_26(val, _values) ⇒ Object
- #_reduce_27(val, _values) ⇒ Object
- #_reduce_3(val, _values) ⇒ Object
- #_reduce_4(val, _values) ⇒ Object
- #_reduce_5(val, _values) ⇒ Object
- #_reduce_6(val, _values) ⇒ Object
- #_reduce_7(val, _values) ⇒ Object
- #_reduce_8(val, _values) ⇒ Object
- #_reduce_9(val, _values) ⇒ Object
- #_reduce_none(val, _values) ⇒ Object
-
#initialize(adapter:) ⇒ NodeQueryParser
constructor
A new instance of NodeQueryParser.
- #next_token ⇒ Object
- #parse(string) ⇒ Object
Constructor Details
#initialize(adapter:) ⇒ NodeQueryParser
10 11 12 13 |
# File 'lib/node_query_parser.racc.rb', line 10 def initialize(adapter:) @lexer = NodeQueryLexer.new @adapter = adapter end |
Instance Method Details
#_reduce_1(val, _values) ⇒ Object
reduce 0 omitted
200 201 202 |
# File 'lib/node_query_parser.racc.rb', line 200 def _reduce_1(val, _values) NodeQuery::Compiler::ExpressionList.new(expression: val[0], rest: val[2]) end |
#_reduce_10(val, _values) ⇒ Object
236 237 238 |
# File 'lib/node_query_parser.racc.rb', line 236 def _reduce_10(val, _values) NodeQuery::Compiler::BasicSelector.new(node_type: val[0], adapter: @adapter) end |
#_reduce_11(val, _values) ⇒ Object
240 241 242 |
# File 'lib/node_query_parser.racc.rb', line 240 def _reduce_11(val, _values) NodeQuery::Compiler::BasicSelector.new(node_type: val[0], attribute_list: val[1], adapter: @adapter) end |
#_reduce_12(val, _values) ⇒ Object
244 245 246 |
# File 'lib/node_query_parser.racc.rb', line 244 def _reduce_12(val, _values) NodeQuery::Compiler::AttributeList.new(attribute: val[0], rest: val[1]) end |
#_reduce_13(val, _values) ⇒ Object
248 249 250 |
# File 'lib/node_query_parser.racc.rb', line 248 def _reduce_13(val, _values) NodeQuery::Compiler::AttributeList.new(attribute: val[0]) end |
#_reduce_14(val, _values) ⇒ Object
252 253 254 |
# File 'lib/node_query_parser.racc.rb', line 252 def _reduce_14(val, _values) NodeQuery::Compiler::Attribute.new(key: val[1], value: val[3], operator: val[2], adapter: @adapter) end |
#_reduce_15(val, _values) ⇒ Object
256 257 258 |
# File 'lib/node_query_parser.racc.rb', line 256 def _reduce_15(val, _values) NodeQuery::Compiler::Attribute.new(key: val[1], value: NodeQuery::Compiler::ArrayValue.new(adapter: @adapter), operator: val[2], adapter: @adapter) end |
#_reduce_16(val, _values) ⇒ Object
260 261 262 |
# File 'lib/node_query_parser.racc.rb', line 260 def _reduce_16(val, _values) NodeQuery::Compiler::Attribute.new(key: val[1], value: val[4], operator: val[2], adapter: @adapter) end |
#_reduce_17(val, _values) ⇒ Object
264 265 266 |
# File 'lib/node_query_parser.racc.rb', line 264 def _reduce_17(val, _values) NodeQuery::Compiler::ArrayValue.new(value: val[0], rest: val[1], adapter: @adapter) end |
#_reduce_18(val, _values) ⇒ Object
268 269 270 |
# File 'lib/node_query_parser.racc.rb', line 268 def _reduce_18(val, _values) NodeQuery::Compiler::ArrayValue.new(value: val[0], adapter: @adapter) end |
#_reduce_2(val, _values) ⇒ Object
204 205 206 |
# File 'lib/node_query_parser.racc.rb', line 204 def _reduce_2(val, _values) NodeQuery::Compiler::ExpressionList.new(expression: val[0]) end |
#_reduce_20(val, _values) ⇒ Object
reduce 19 omitted
274 275 276 |
# File 'lib/node_query_parser.racc.rb', line 274 def _reduce_20(val, _values) NodeQuery::Compiler::Boolean.new(value: val[0], adapter: @adapter) end |
#_reduce_21(val, _values) ⇒ Object
278 279 280 |
# File 'lib/node_query_parser.racc.rb', line 278 def _reduce_21(val, _values) NodeQuery::Compiler::Float.new(value: val[0], adapter: @adapter) end |
#_reduce_22(val, _values) ⇒ Object
282 283 284 |
# File 'lib/node_query_parser.racc.rb', line 282 def _reduce_22(val, _values) NodeQuery::Compiler::Integer.new(value: val[0], adapter: @adapter) end |
#_reduce_23(val, _values) ⇒ Object
286 287 288 |
# File 'lib/node_query_parser.racc.rb', line 286 def _reduce_23(val, _values) NodeQuery::Compiler::Nil.new(value: val[0], adapter: @adapter) end |
#_reduce_24(val, _values) ⇒ Object
290 291 292 |
# File 'lib/node_query_parser.racc.rb', line 290 def _reduce_24(val, _values) NodeQuery::Compiler::Regexp.new(value: val[0], adapter: @adapter) end |
#_reduce_25(val, _values) ⇒ Object
294 295 296 |
# File 'lib/node_query_parser.racc.rb', line 294 def _reduce_25(val, _values) NodeQuery::Compiler::String.new(value: val[0], adapter: @adapter) end |
#_reduce_26(val, _values) ⇒ Object
298 299 300 |
# File 'lib/node_query_parser.racc.rb', line 298 def _reduce_26(val, _values) NodeQuery::Compiler::Symbol.new(value: val[0], adapter: @adapter) end |
#_reduce_27(val, _values) ⇒ Object
302 303 304 |
# File 'lib/node_query_parser.racc.rb', line 302 def _reduce_27(val, _values) NodeQuery::Compiler::Identifier.new(value: val[0], adapter: @adapter) end |
#_reduce_3(val, _values) ⇒ Object
208 209 210 |
# File 'lib/node_query_parser.racc.rb', line 208 def _reduce_3(val, _values) NodeQuery::Compiler::Expression.new(selector: val[0], rest: val[1]) end |
#_reduce_4(val, _values) ⇒ Object
212 213 214 |
# File 'lib/node_query_parser.racc.rb', line 212 def _reduce_4(val, _values) NodeQuery::Compiler::Expression.new(selector: val[0]) end |
#_reduce_5(val, _values) ⇒ Object
216 217 218 |
# File 'lib/node_query_parser.racc.rb', line 216 def _reduce_5(val, _values) NodeQuery::Compiler::Selector.new(basic_selector: val[0], position: val[1], adapter: @adapter ) end |
#_reduce_6(val, _values) ⇒ Object
220 221 222 |
# File 'lib/node_query_parser.racc.rb', line 220 def _reduce_6(val, _values) NodeQuery::Compiler::Selector.new(basic_selector: val[0], adapter: @adapter) end |
#_reduce_7(val, _values) ⇒ Object
224 225 226 |
# File 'lib/node_query_parser.racc.rb', line 224 def _reduce_7(val, _values) NodeQuery::Compiler::Selector.new(pseudo_class: val[0], pseudo_selector: val[2], adapter: @adapter) end |
#_reduce_8(val, _values) ⇒ Object
228 229 230 |
# File 'lib/node_query_parser.racc.rb', line 228 def _reduce_8(val, _values) NodeQuery::Compiler::Selector.new(relationship: val[0], rest: val[1], adapter: @adapter) end |
#_reduce_9(val, _values) ⇒ Object
232 233 234 |
# File 'lib/node_query_parser.racc.rb', line 232 def _reduce_9(val, _values) NodeQuery::Compiler::Selector.new(goto_scope: val[0], rest: val[1], adapter: @adapter) end |
#_reduce_none(val, _values) ⇒ Object
306 307 308 |
# File 'lib/node_query_parser.racc.rb', line 306 def _reduce_none(val, _values) val[0] end |
#next_token ⇒ Object
20 21 22 |
# File 'lib/node_query_parser.racc.rb', line 20 def next_token @lexer.next_token end |
#parse(string) ⇒ Object
15 16 17 18 |
# File 'lib/node_query_parser.racc.rb', line 15 def parse string @lexer.parse string do_parse end |