Journey::Visitors::Dot

Public Class Methods

new() click to toggle source
     # File lib/journey/visitors.rb, line 125
125:       def initialize
126:         @nodes = []
127:         @edges = []
128:       end

Public Instance Methods

accept(node) click to toggle source
     # File lib/journey/visitors.rb, line 130
130:       def accept node
131:         super
132:         digraph parse_tree {  size="8,5"  node [shape = none];  edge [dir = none];  #{@nodes.join "\n"}  #{@edges.join("\n")}}
133:       end

Private Instance Methods

binary(node) click to toggle source
     # File lib/journey/visitors.rb, line 144
144:       def binary node
145:         node.children.each do |c|
146:           @edges << "#{node.object_id} -> #{c.object_id};"
147:         end
148:         super
149:       end
nary(node) click to toggle source
     # File lib/journey/visitors.rb, line 151
151:       def nary node
152:         node.children.each do |c|
153:           @edges << "#{node.object_id} -> #{c.object_id};"
154:         end
155:         super
156:       end
terminal(node) click to toggle source
     # File lib/journey/visitors.rb, line 183
183:       def terminal node
184:         value = node.left
185: 
186:         @nodes << "#{node.object_id} [label=\"#{value}\"];"
187:       end
unary(node) click to toggle source
     # File lib/journey/visitors.rb, line 158
158:       def unary node
159:         @edges << "#{node.object_id} -> #{node.left.object_id};"
160:         super
161:       end
visit_CAT(node) click to toggle source
     # File lib/journey/visitors.rb, line 168
168:       def visit_CAT node
169:         @nodes << "#{node.object_id} [label=\"○\"];"
170:         super
171:       end
visit_GROUP(node) click to toggle source
     # File lib/journey/visitors.rb, line 163
163:       def visit_GROUP node
164:         @nodes << "#{node.object_id} [label=\"()\"];"
165:         super
166:       end
visit_OR(node) click to toggle source
     # File lib/journey/visitors.rb, line 178
178:       def visit_OR node
179:         @nodes << "#{node.object_id} [label=\"|\"];"
180:         super
181:       end
visit_STAR(node) click to toggle source
     # File lib/journey/visitors.rb, line 173
173:       def visit_STAR node
174:         @nodes << "#{node.object_id} [label=\"*\"];"
175:         super
176:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.