summaryrefslogtreecommitdiffstats
path: root/tcllib/modules/pt/include/architecture.dia
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-10-27 19:39:39 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-10-27 19:39:39 (GMT)
commitea28451286d3ea4a772fa174483f9a7a66bb1ab3 (patch)
tree6ee9d8a7848333a7ceeee3b13d492e40225f8b86 /tcllib/modules/pt/include/architecture.dia
parentb5ca09bae0d6a1edce939eea03594dd56383f2c8 (diff)
parent7c621da28f07e449ad90c387344f07a453927569 (diff)
downloadblt-ea28451286d3ea4a772fa174483f9a7a66bb1ab3.zip
blt-ea28451286d3ea4a772fa174483f9a7a66bb1ab3.tar.gz
blt-ea28451286d3ea4a772fa174483f9a7a66bb1ab3.tar.bz2
Merge commit '7c621da28f07e449ad90c387344f07a453927569' as 'tcllib'
Diffstat (limited to 'tcllib/modules/pt/include/architecture.dia')
-rw-r--r--tcllib/modules/pt/include/architecture.dia53
1 files changed, 53 insertions, 0 deletions
diff --git a/tcllib/modules/pt/include/architecture.dia b/tcllib/modules/pt/include/architecture.dia
new file mode 100644
index 0000000..399f14b
--- /dev/null
+++ b/tcllib/modules/pt/include/architecture.dia
@@ -0,0 +1,53 @@
+# -*- tcl -*- tcl.tk//DSL diagram//EN//1.0
+# Parser Tools Architecture Diagram
+
+set counter 0
+if {![info exists mark]} { set mark -1 }
+
+proc xbox {args} {
+ variable mark
+ variable counter
+
+ if {$mark == $counter} {
+ lappend args color red stroke 2
+ }
+ incr counter
+ return [uplevel 1 [list box {*}$args]]
+}
+
+proc area {label args} {
+ set E [xbox fillcolor lightyellow {*}$args]
+ group {
+ text text $label with nw at [last box nw]
+ }
+ return $E
+}
+
+down
+set boxwidth [90 mm]
+set movelength [5 mm]
+
+set A [area Applications]
+move
+set U [area "User Packages"]
+move
+set C [area "Core Packages" height [90 mm]]
+move
+set S [area "Support Packages"]
+
+text at $A "pt"
+text at $U "pt::pgen"
+text at $S "<general>"
+block {
+ set fillcolor white
+ set boxwidth [20 mm]
+
+ xbox "json" "peg" height [25 mm] dotted ; up ; arrow stroke 4
+ xbox "Import:" ; right ; arrow same <->
+ xbox "Container" width [25 mm] ; arrow same
+ xbox "Export:" ; down ; arrow <- stroke 4
+ xbox "json" "peg" "cparam" "tclparam" height [25 mm] dotted ; left ; move
+ xbox "Execute" "Transform" height [25 mm] width [25 mm] ; up
+ arrow <-> stroke 4 ; down ; move from [last box s]
+ xbox "AST / PE / PEG Support" width [75 mm]
+} at $C