]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/parser/DotParser.jj
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.graphviz / src / org / simantics / graphviz / internal / parser / DotParser.jj
index 8ea0a84ed5c870e9f0e82105a2e7c651a2872875..6b2766cb2a316f51ec2252658e7ec11e418427df 100644 (file)
@@ -1,76 +1,76 @@
-options {\r
-  JDK_VERSION = "1.6";\r
-  STATIC = false;\r
-  IGNORE_CASE = true;\r
-}\r
-\r
-PARSER_BEGIN(DotParser)\r
-package org.simantics.graphviz.internal.parser;\r
-\r
-import org.simantics.graphviz.*;\r
-import java.util.Map;\r
-import java.util.HashMap;\r
-\r
-public class DotParser {\r
-       AbstractAttributeContainer defaultNode = new AbstractAttributeContainer();\r
-       AbstractAttributeContainer defaultEdge = new AbstractAttributeContainer();\r
-       Map<String,Identifiable> connectors = new HashMap<String,Identifiable>();\r
-       \r
-}\r
-PARSER_END(DotParser)\r
-\r
-/*** Lexer *********************************************************/\r
-\r
-SKIP:\r
-{ <WHITESPACE: " " | "\n" | "\r" | "\t" > \r
-| <COMMENT1: "/*" (~["*"] | "*" ~["/"])* "*/" >  \r
-| <COMMENT2: "//" (~["\n"])* >\r
-}\r
-\r
-TOKEN:\r
-{ "=" | "->" | "--" | ":" | "{" | "}" | "[" | "]" | "," \r
-| "subgraph" | "digraph" | "graph" | "node" | "edge" | "strict" | ";"\r
-| <STRING: "\"" (~["\"", "\\"] | "\\" ~[])* "\"">\r
-    { matchedToken.image = matchedToken.image.substring(1,matchedToken.image.length()-1); }\r
-| <HTML: "<" (~["<",">"] | "<" (~["<",">","\""] | "\"" (~["\"", "\\"] | "\\" ~[])* "\"")* ">" )* ">">\r
-| <IDENT: ["a"-"z","A"-"Z","_"] (["a"-"z","A"-"Z","_",":","0"-"9"])* >\r
-| <NUMBER: ("-")?("." (["0"-"9"])+ |(["0"-"9"])+ ("." (["0"-"9"])*)?) >\r
-}\r
-\r
-/*** Parser ********************************************************/\r
-\r
-Graph document() : { Graph graph = new Graph(); }\r
-{ ("strict")? ("graph" | "digraph") "{" (statement(graph))* "}" <EOF> { return graph; }\r
-}\r
-\r
-void statement(IGraph graph) : {}\r
-{ { String id1, id2; }\r
-  id1=id() ( LOOKAHEAD(1) \r
-    { Node node = new Node(graph); connectors.put(id1, node); } attributes(node)   \r
-  | "->" id2=id() { \r
-       Edge edge = new Edge(connectors.get(id1.split(":")[0]), \r
-                                                connectors.get(id2.split(":")[0])); \r
-       } attributes(edge)\r
-  ) \r
-| "graph" attributes(graph)\r
-| "node" attributes(defaultNode)\r
-| "edge" attributes(defaultEdge)\r
-| { Subgraph subgraph; String id; } \r
-  "subgraph" id=id() { subgraph = new Subgraph(graph); connectors.put(id, subgraph); } \r
-  "{" (statement(subgraph))* "}"\r
-}\r
-\r
-void attributes(IAttributeContainer el) : {}\r
-{ ("[" attribute(el) ( (",")? attribute(el) )* "]")? ";" {}\r
-}\r
-\r
-void attribute(IAttributeContainer el) : { String key, value=""; }\r
-{ key=id() ("=" value=id())? { el.set(key, value); }\r
-}\r
-\r
-String id() : {}\r
-{ <NUMBER> { return token.image; }\r
-| <STRING> { return token.image; }\r
-| <IDENT> { return token.image; }\r
-| <HTML> { return token.image; }\r
+options {
+  JDK_VERSION = "1.6";
+  STATIC = false;
+  IGNORE_CASE = true;
+}
+
+PARSER_BEGIN(DotParser)
+package org.simantics.graphviz.internal.parser;
+
+import org.simantics.graphviz.*;
+import java.util.Map;
+import java.util.HashMap;
+
+public class DotParser {
+       AbstractAttributeContainer defaultNode = new AbstractAttributeContainer();
+       AbstractAttributeContainer defaultEdge = new AbstractAttributeContainer();
+       Map<String,Identifiable> connectors = new HashMap<String,Identifiable>();
+       
+}
+PARSER_END(DotParser)
+
+/*** Lexer *********************************************************/
+
+SKIP:
+{ <WHITESPACE: " " | "\n" | "\r" | "\t" > 
+| <COMMENT1: "/*" (~["*"] | "*" ~["/"])* "*/" >  
+| <COMMENT2: "//" (~["\n"])* >
+}
+
+TOKEN:
+{ "=" | "->" | "--" | ":" | "{" | "}" | "[" | "]" | "," 
+| "subgraph" | "digraph" | "graph" | "node" | "edge" | "strict" | ";"
+| <STRING: "\"" (~["\"", "\\"] | "\\" ~[])* "\"">
+    { matchedToken.image = matchedToken.image.substring(1,matchedToken.image.length()-1); }
+| <HTML: "<" (~["<",">"] | "<" (~["<",">","\""] | "\"" (~["\"", "\\"] | "\\" ~[])* "\"")* ">" )* ">">
+| <IDENT: ["a"-"z","A"-"Z","_"] (["a"-"z","A"-"Z","_",":","0"-"9"])* >
+| <NUMBER: ("-")?("." (["0"-"9"])+ |(["0"-"9"])+ ("." (["0"-"9"])*)?) >
+}
+
+/*** Parser ********************************************************/
+
+Graph document() : { Graph graph = new Graph(); }
+{ ("strict")? ("graph" | "digraph") "{" (statement(graph))* "}" <EOF> { return graph; }
+}
+
+void statement(IGraph graph) : {}
+{ { String id1, id2; }
+  id1=id() ( LOOKAHEAD(1) 
+    { Node node = new Node(graph); connectors.put(id1, node); } attributes(node)   
+  | "->" id2=id() { 
+       Edge edge = new Edge(connectors.get(id1.split(":")[0]), 
+                                                connectors.get(id2.split(":")[0])); 
+       } attributes(edge)
+  ) 
+| "graph" attributes(graph)
+| "node" attributes(defaultNode)
+| "edge" attributes(defaultEdge)
+| { Subgraph subgraph; String id; } 
+  "subgraph" id=id() { subgraph = new Subgraph(graph); connectors.put(id, subgraph); } 
+  "{" (statement(subgraph))* "}"
+}
+
+void attributes(IAttributeContainer el) : {}
+{ ("[" attribute(el) ( (",")? attribute(el) )* "]")? ";" {}
+}
+
+void attribute(IAttributeContainer el) : { String key, value=""; }
+{ key=id() ("=" value=id())? { el.set(key, value); }
+}
+
+String id() : {}
+{ <NUMBER> { return token.image; }
+| <STRING> { return token.image; }
+| <IDENT> { return token.image; }
+| <HTML> { return token.image; }
 }
\ No newline at end of file