1 digraph MaximaTopLevel {
2 startup [
label=
"user::run"]
;
3 toplevel [
label=
"macsyma-top-level"]
;
4 replmain [
label=
"continue\n1. dbm-read parses the input\n2. the eval path begins mathematical work."]
;
5 dbmread [
label=
"dbm-read"]
;
6 firstevalcall [
label=
"toplevel-macsyma-eval\nUsed in code via $% as set in\n (setq $% (toplevel-macsyma-eval $__))"]
;
7 display [
label=
"displa\nUses linear-displa if display2d is false"]
;
10 replmain
-> dbmread [
color=
red, fontcolor=
red, fontsize=
10, label=
"Parse input"]
;
11 dbmread
-> replmain [
color=
blue, fontcolor=
blue, fontsize=
10,label=
"Return parsed input"]
;
13 mreadraw [
label=
"mread-raw"]
;
14 peekonetokeng [
label=
"peek-one-token-g"]
;
15 scanonetokeng [
label=
"scan-one-token-g"]
;
16 readcommandtoken [
label=
"read-command-token"]
;
17 gobblewhitespace [
label=
"gobble-whitespace"]
;
18 parsetyipeek [
label=
"parse-tyipeek"]
;
19 readcommandtokenaux [
label=
"read-command-token-aux"]
;
21 mreadraw
-> peekonetokeng
;
22 peekonetokeng
-> scanonetokeng
;
23 scanonetokeng
-> readcommandtoken
;
24 readcommandtoken
-> gobblewhitespace
;
25 gobblewhitespace
-> parsetyipeek
;
26 gobblewhitespace
-> readcommandtokenaux
;
27 replmain
-> firstevalcall [
color=
red, fontcolor=
red, fontsize=
10, label=
"Do eval"]
;
28 firstevalcall
->replmain [
color=
blue, fontcolor=
blue, fontsize=
10, label=
"Return"]
;
29 mevalmacro [
label=
"meval*"]
;
30 firstevalcall
-> mevalmacro
;
34 replmain
-> display [
color=
red, fontcolor=
red, fontsize=
10, label=
"Send to display"]
;
35 display
-> replmain [
color=
blue, fontcolor=
blue, fontsize=
10,label=
"Return after display"]
;
38 dimensionatom [
label=
"dimension-atom"]
;
39 dimensionparen [
label=
"dimension-paren"]
;
40 dimensionarray [
label=
"dimension-array"]
;
41 dimensionfunction [
label=
"dimension-function"]
;
42 dimension
-> dimensionatom
;
43 dimension
-> dimensionparen
;
44 dimension
-> dimensionarray
;
45 dimension
-> dimensionfunction
;
46 dimensionfunction
-> dimension
;
47 display
-> checkbreak
;
48 dimension
-> checkbreak
;
50 lineardisplay [
label=
"linear-displa"]
;
51 display
-> lineardisplay
;