Class: Dhaka::LexerSupport::CatNode
Instance Attribute Summary
Attributes inherited from BinaryNode
#left, #right
Instance Method Summary
collapse
Methods inherited from BinaryNode
#initialize, #to_dot
Methods inherited from ASTNode
#accepting, #checkpoint
Instance Method Details
#calculate_follow_sets ⇒ Object
239
240
241
242
243
244
|
# File 'lib/lexer/regex_grammar.rb', line 239
def calculate_follow_sets
super
left.last.each do |leaf_node|
leaf_node.follow_set.merge right.first
end
end
|
#first ⇒ Object
231
232
233
|
# File 'lib/lexer/regex_grammar.rb', line 231
def first
left.nullable ? (left.first | right.first) : left.first
end
|
#label ⇒ Object
223
224
225
|
# File 'lib/lexer/regex_grammar.rb', line 223
def label
"cat"
end
|
#last ⇒ Object
235
236
237
|
# File 'lib/lexer/regex_grammar.rb', line 235
def last
right.nullable ? (left.last | right.last) : right.last
end
|
#nullable ⇒ Object
227
228
229
|
# File 'lib/lexer/regex_grammar.rb', line 227
def nullable
left.nullable && right.nullable
end
|