Sha256: af6157f058ce749bf8beb8d56ee9d49c0145e6e10b4dd19804ba0f84ce455054

Contents?: true

Size: 1.9 KB

Versions: 9

Compression:

Stored size: 1.9 KB

Contents

grammar Dot
	rule graph
		space type:("graph" / "digraph") blank name:string space cluster:cluster space <GraphViz::Parser::Graph>
	end
	
	rule cluster
		"{" content:(preference / node / edge / subgraph)* "}" <GraphViz::Parser::Cluster>
	end
	
	rule preference
		graph_preference / named_graph_preference / node_preference / edge_preference
	end
	
	rule graph_preference
		space key:name blank "=" blank value:string separator <GraphViz::Parser::GraphPreference>
	end
	
	rule named_graph_preference
		space "graph" blank options:options? separator  <GraphViz::Parser::NamedGraphPreference>
	end
	
	rule node_preference
		space "node" blank options:options? separator <GraphViz::Parser::NodePreference>
	end
	
	rule edge_preference
		space "edge" blank options:options? separator <GraphViz::Parser::EdgePreference>
	end
	
	rule node
		space name:string blank options:options? separator <GraphViz::Parser::Node>
	end
	
	rule edge
		direct_edge / undirect_edge
	end
	
	rule direct_edge
		space node_one:string blank "->" blank node_two:string blank other_nodes:("->" blank next_node:string blank)* options:options? separator <GraphViz::Parser::Edge>
	end
	
	rule undirect_edge
		space node_one:string blank "--" blank node_two:string blank other_nodes:("--" blank next_node:string blank)* options:options? separator <GraphViz::Parser::Edge>
	end
	
	rule subgraph
	  space "subgraph" blank name:string space cluster:cluster space <GraphViz::Parser::Subgraph>
	end
	
	rule options
		"[" space (name blank "=" blank string comma space)* name blank "=" blank string space "]" <GraphViz::Parser::Options>
	end
	
	rule string
		name / quoted_string
	end
	
	rule comma
		space ","
	end
	
	rule separator
		blank ";" space
	end
	
	rule quoted_string
		'"' [^"]* '"'
	end
	
	rule name
		[a-zA-Z0-9_\.]+
	end
	
	rule blank
		[\ \t]*
	end
	
	rule space
    [\s\n\r\t]*
  end

	rule newline
		CR LF
	end
	
	rule CR
    [\r]?
	end
	
	rule LF
		[\n]?
	end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ruby-graphviz-0.9.9 lib/graphviz/dot.treetop
ruby-graphviz-0.9.8 lib/graphviz/dot.treetop
ruby-graphviz-0.9.7 lib/graphviz/dot.treetop
ruby-graphviz-0.9.6 lib/graphviz/dot.treetop
ruby-graphviz-0.9.5 lib/graphviz/dot.treetop
ruby-graphviz-0.9.4 lib/graphviz/dot.treetop
ruby-graphviz-0.9.3 lib/graphviz/dot.treetop
ruby-graphviz-0.9.2 lib/graphviz/dot.treetop
ruby-graphviz-0.9.1 lib/graphviz/dot.treetop