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
222
223
224
225
226
227
|
# File 'lib/dhaka/lexer/regex_grammar.rb', line 222
def calculate_follow_sets
super
left.last.each do |leaf_node|
leaf_node.follow_set.merge right.first
end
end
|
#first ⇒ Object
214
215
216
|
# File 'lib/dhaka/lexer/regex_grammar.rb', line 214
def first
left.nullable ? (left.first | right.first) : left.first
end
|
#label ⇒ Object
206
207
208
|
# File 'lib/dhaka/lexer/regex_grammar.rb', line 206
def label
"cat"
end
|
#last ⇒ Object
218
219
220
|
# File 'lib/dhaka/lexer/regex_grammar.rb', line 218
def last
right.nullable ? (left.last | right.last) : right.last
end
|
#nullable ⇒ Object
210
211
212
|
# File 'lib/dhaka/lexer/regex_grammar.rb', line 210
def nullable
left.nullable && right.nullable
end
|