summaryrefslogtreecommitdiff
path: root/docs/web/bnf.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/web/bnf.txt')
-rw-r--r--docs/web/bnf.txt31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/web/bnf.txt b/docs/web/bnf.txt
new file mode 100644
index 0000000..e5be059
--- /dev/null
+++ b/docs/web/bnf.txt
@@ -0,0 +1,31 @@
+<tikzpicture> ::= "\begin{tikzpicture}" <properties>?
+ <expression>*
+ "\end{tikzpicture}"
+
+<expression> ::= <ignore> | <node> | <edge> | <bounding box>
+
+<ignore> ::= "\begin{pgfonlayer}" DELIMITED_STRING |
+ "\end{pgfonlayer}"
+
+<properties> ::= "[" <property> ("," <property>)* "]"
+
+<property> ::= <symbol>* "=" <value> | <symbol>*
+
+<symbol> ::= WORD | number
+
+<value> ::= <symbol>* | QUOTED_STRING
+
+<node> ::= "\node" <properties>? <node name>
+ "at" <coords> DELIMITED_STRING ";"
+
+<node name> ::= "(" (NATURAL_NUMBER | WORD) (".center")? ")"
+
+<coords> ::= "(" NUMBER "," NUMBER ")"
+
+<edge> ::= "\draw" <properties>? <node name>
+ "to" <edge node>? (<node name> | "()") ";"
+
+<edge node> ::= "node" <properties>? DELIMITED_STRING
+
+<bounding box> ::= "\path" "[use as bounding box]" <coords>
+ "rectangle" <coords> ";"