# File lib/parslet/graphviz.rb, line 71 def downwards child if @parent && !@known_links.include?([@parent, child]) @graph.add_edges(@parent, child) @known_links << [@parent, child] end end
# File lib/parslet/graphviz.rb, line 65 def escape str str.gsub('"', "'") end
# File lib/parslet/graphviz.rb, line 68 def node name, opts={} @graph.add_nodes name.to_s, opts end
# File lib/parslet/graphviz.rb, line 77 def recurse node, current @parent = current node.accept(self) end
# File lib/parslet/graphviz.rb, line 43 def visit_alternative(alternatives) p = parent alternatives.each do |atom| recurse atom, p end end
# File lib/parslet/graphviz.rb, line 27 def visit_entity(name, block) s = node(name) downwards s return if @visited.include?(name) @visited << name recurse block.call, s end
# File lib/parslet/graphviz.rb, line 55 def visit_lookahead(positive, atom) recurse atom, parent end
# File lib/parslet/graphviz.rb, line 37 def visit_named(name, atom) recurse atom, parent end
# File lib/parslet/graphviz.rb, line 24 def visit_parser(root) recurse root, node('parser') end
# File lib/parslet/graphviz.rb, line 58 def visit_re(regexp) # downwards node(regexp.object_id, label: escape("re(#{regexp.inspect})")) end
# File lib/parslet/graphviz.rb, line 40 def visit_repetition(tag, min, max, atom) recurse atom, parent end
Generated with the Darkfish Rdoc Generator 2.