diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-10-27 19:39:39 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-10-27 19:39:39 (GMT) |
commit | ea28451286d3ea4a772fa174483f9a7a66bb1ab3 (patch) | |
tree | 6ee9d8a7848333a7ceeee3b13d492e40225f8b86 /tcllib/modules/pt/include/architecture.dia | |
parent | b5ca09bae0d6a1edce939eea03594dd56383f2c8 (diff) | |
parent | 7c621da28f07e449ad90c387344f07a453927569 (diff) | |
download | blt-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.dia | 53 |
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 |