summary refs log tree commit diff stats
path: root/compiler/nimrod.dot
blob: 36429844f7f6fc053081f2c1c47b0436990424cd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
discard """
  output: '''
n
n
(one: 1, two: 2, three: 3)
1
2
3
(one: 4, two: 5, three: 6)
4
(one: 7, two: 8, three: 9)
7
8
9
(foo: 38, other: "string here")
43
100
90
'''
"""


block tindex:
  type
    TMyTuple = tuple[a, b: int]

  proc indexOf(t: typedesc, name: string): int =
    ## takes a tuple and looks for the field by name.
    ## returs index of that field.
    var
      d: t
      i = 0
    for n, x in fieldPairs(d):
      if n == name: return i
      i.inc
    raise newException(ValueError, "No field " & name & " in type " &
      astToStr(t))

  doAssert TMyTuple.indexOf("b") == 1



block ttemplate:
  # bug #1902
  # This works.
  for name, value in (n: "v").fieldPairs:
    echo name

  template wrapper(): void =
    for name, value in (n: "v").fieldPairs:
      echo name
  wrapper()



block tbreak:
  # bug #2134
  type
    TestType = object
      one: int
      two: int
      three: int

  var
    ab = TestType(one:1, two:2, three:3)
    ac = TestType(one:4, two:5, three:6)
    ad = TestType(one:7, two:8, three:9)
    tstSeq = [ab, ac, ad]

  for tstElement in mitems(tstSeq):
    echo tstElement
    for tstField in fields(tstElement):
      #for tstField in [1,2,4,6]:
      echo tstField
      if tstField == 4:
        break



block timplicit_with_partial:
  type
    Base = ref object of RootObj
    Foo {.partial.} = ref object of Base

  proc my(f: Foo) pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
digraph nimrod {
times -> strutils;
os -> strutils;
os -> times;
posix -> times;
os -> posix;
nhashes -> strutils;
nstrtabs -> os;
nstrtabs -> nhashes;
nstrtabs -> strutils;
options -> os;
options -> lists;
options -> strutils;
options -> nstrtabs;
msgs -> options;
msgs -> strutils;
msgs -> os;
crc -> strutils;
platform -> strutils;
ropes -> msgs;
ropes -> strutils;
ropes -> platform;
ropes -> nhashes;
ropes -> crc;
idents -> nhashes;
idents -> strutils;
ast -> msgs;
ast -> nhashes;
ast -> nversion;
ast -> options;
ast -> strutils;
ast -> crc;
ast -> ropes;
ast -> idents;
ast -> lists;
astalgo -> ast;
astalgo -> nhashes;
astalgo -> strutils;
astalgo -> options;
astalgo -> msgs;
astalgo -> ropes;
astalgo -> idents;
condsyms -> ast;
condsyms -> astalgo;
condsyms -> msgs;
condsyms -> nhashes;
condsyms -> platform;
condsyms -> strutils;
condsyms -> idents;
hashes -> strutils;
strtabs -> os;
strtabs -> hashes;
strtabs -> strutils;
osproc -> strutils;
osproc -> os;
osproc -> strtabs;
osproc -> streams;
osproc -> posix;
extccomp -> lists;
extccomp -> ropes;
extccomp -> os;
extccomp -> strutils;
extccomp -> osproc;
extccomp -> platform;
extccomp -> condsyms;
extccomp -> options;
extccomp -> msgs;
wordrecg -> nhashes;
wordrecg -> strutils;
wordrecg -> idents;
commands -> os;
commands -> msgs;
commands -> options;
commands -> nversion;
commands -> condsyms;
commands -> strutils;
commands -> extccomp;
commands -> platform;
commands -> lists;
commands -> wordrecg;
llstream -> strutils;
lexbase -> llstream;
lexbase -> strutils;
scanner -> nhashes;
scanner -> options;
scanner -> msgs;
scanner -> strutils;
scanner -> platform;
scanner -> idents;
scanner -> lexbase;
scanner -> llstream;
scanner -> wordrecg;
nimconf -> llstream;
nimconf -> nversion;
nimconf -> commands;
nimconf -> os;
nimconf -> strutils;
nimconf -> msgs;
nimconf -> platform;
nimconf -> condsyms;
nimconf -> scanner;
nimconf -> options;
nimconf -> idents;
nimconf -> wordrecg;
pnimsyn -> llstream;
pnimsyn -> scanner;
pnimsyn -> idents;
pnimsyn -> strutils;
pnimsyn -> ast;
pnimsyn -> msgs;
pbraces -> llstream;
pbraces -> scanner;
pbraces -> idents;
pbraces -> strutils;
pbraces -> ast;
pbraces -> msgs;
pbraces -> pnimsyn;
rnimsyn -> scanner;
rnimsyn -> options;
rnimsyn -> idents;
rnimsyn -> strutils;
rnimsyn -> ast;
rnimsyn -> msgs;
rnimsyn -> lists;
filters -> llstream;
filters -> os;
filters -> wordrecg;
filters -> idents;
filters -> strutils;
filters -> ast;
filters -> astalgo;
filters -> msgs;
filters -> options;
filters -> rnimsyn;
ptmplsyn -> llstream;
ptmplsyn -> os;
ptmplsyn -> wordrecg;
ptmplsyn -> idents;
ptmplsyn -> strutils;
ptmplsyn -> ast;
ptmplsyn -> astalgo;
ptmplsyn -> msgs;
ptmplsyn -> options;
ptmplsyn -> rnimsyn;
ptmplsyn -> filters;
syntaxes -> strutils;
syntaxes -> llstream;
syntaxes -> ast;
syntaxes -> astalgo;
syntaxes -> idents;
syntaxes -> scanner;
syntaxes -> options;
syntaxes -> msgs;
syntaxes -> pnimsyn;
syntaxes -> pbraces;
syntaxes -> ptmplsyn;
syntaxes -> filters;
syntaxes -> rnimsyn;
paslex -> nhashes;
paslex -> options;
paslex -> msgs;
paslex -> strutils;
paslex -> platform;
paslex -> idents;
paslex -> lexbase;
paslex -> wordrecg;
paslex -> scanner;
pasparse -> os;
pasparse -> llstream;
pasparse -> scanner;
pasparse -> paslex;
pasparse -> idents;
pasparse -> wordrecg;
pasparse -> strutils;
pasparse -> ast;
pasparse -> astalgo;
pasparse -> msgs;
pasparse -> options;
rodread -> os;
rodread -> options;
rodread -> strutils;
rodread -> nversion;
rodread -> ast;
rodread -> astalgo;
rodread -> msgs;
rodread -> platform;
rodread -> condsyms;
rodread -> ropes;
rodread -> idents;
rodread -> crc;
trees -> ast;
trees -> astalgo;
trees -> scanner;
trees -> msgs;
trees -> strutils;
types -> ast;
types -> astalgo;
types -> trees;
types -> msgs;
types -> strutils;
types -> platform;
magicsys -> ast;
magicsys -> astalgo;
magicsys -> nhashes;
magicsys -> msgs;
magicsys -> platform;
magicsys -> nversion;
magicsys -> times;
magicsys -> idents;
magicsys -> rodread;
nimsets -> ast;
nimsets -> astalgo;
nimsets -> trees;
nimsets -> nversion;
nimsets -> msgs;
nimsets -> platform;
nimsets -> bitsets;
nimsets -> types;
nimsets -> rnimsyn;
passes -> strutils;
passes -> lists;
passes -> options;
passes -> ast;
passes -> astalgo;
passes -> llstream;
passes -> msgs;
passes -> platform;
passes -> os;
passes -> condsyms;
passes -> idents;
passes -> rnimsyn;
passes -> types;
passes -> extccomp;
passes -> math;
passes -> magicsys;
passes -> nversion;
passes -> nimsets;
passes -> syntaxes;
passes -> times;
passes -> rodread;
treetab -> nhashes;
treetab -> ast;
treetab -> astalgo;
treetab -> types;
semdata -> strutils;
semdata -> lists;
semdata -> options;
semdata -> scanner;
semdata -> ast;
semdata -> astalgo;
semdata -> trees;
semdata -> treetab;
semdata -> wordrecg;
semdata -> ropes;
semdata -> msgs;
semdata -> platform;
semdata -> os;
semdata -> condsyms;
semdata -> idents;
semdata -> rnimsyn;
semdata -> types;
semdata -> extccomp;
semdata -> math;
semdata -> magicsys;
semdata -> nversion;
semdata -> nimsets;
semdata -> pnimsyn;
semdata -> times;
semdata -> passes;
semdata -> rodread;
lookups -> ast;
lookups -> astalgo;
lookups -> idents;
lookups -> semdata;
lookups -> types;
lookups -> msgs;
lookups -> options;
lookups -> rodread;
lookups -> rnimsyn;
importer -> strutils;
importer -> os;
importer -> ast;
importer -> astalgo;
importer -> msgs;
importer -> options;
importer -> idents;
importer -> rodread;
importer -> lookups;
importer -> semdata;
importer -> passes;
rodwrite -> os;
rodwrite -> options;
rodwrite -> strutils;
rodwrite -> nversion;
rodwrite -> ast;
rodwrite -> astalgo;
rodwrite -> msgs;
rodwrite -> platform;
rodwrite -> condsyms;
rodwrite -> ropes;
rodwrite -> idents;
rodwrite -> crc;
rodwrite -> rodread;
rodwrite -> passes;
rodwrite -> importer;
semfold -> strutils;
semfold -> lists;
semfold -> options;
semfold -> ast;
semfold -> astalgo;
semfold -> trees;
semfold -> treetab;
semfold -> nimsets;
semfold -> times;
semfold -> nversion;
semfold -> platform;
semfold -> math;
semfold -> msgs;
semfold -> os;
semfold -> condsyms;
semfold -> idents;
semfold -> rnimsyn;
semfold -> types;
evals -> strutils;
evals -> magicsys;
evals -> lists;
evals -> options;
evals -> ast;
evals -> astalgo;
evals -> trees;
evals -> treetab;
evals -> nimsets;
evals -> msgs;
evals -> os;
evals -> condsyms;
evals -> idents;
evals -> rnimsyn;
evals -> types;
evals -> passes;
evals -> semfold;
procfind -> ast;
procfind -> astalgo;
procfind -> msgs;
procfind -> semdata;
procfind -> types;
procfind -> trees;
pragmas -> os;
pragmas -> platform;
pragmas -> condsyms;
pragmas -> ast;
pragmas -> astalgo;
pragmas -> idents;
pragmas -> semdata;
pragmas -> msgs;
pragmas -> rnimsyn;
pragmas -> wordrecg;
pragmas -> ropes;
pragmas -> options;
pragmas -> strutils;
pragmas -> lists;
pragmas -> extccomp;
pragmas -> math;
pragmas -> magicsys;
pragmas -> trees;
sem -> strutils;
sem -> nhashes;
sem -> lists;
sem -> options;
sem -> scanner;
sem -> ast;
sem -> astalgo;
sem -> trees;
sem -> treetab;
sem -> wordrecg;
sem -> ropes;
sem -> msgs;
sem -> os;
sem -> condsyms;
sem -> idents;
sem -> rnimsyn;
sem -> types;
sem -> platform;
sem -> math;
sem -> magicsys;
sem -> pnimsyn;
sem -> nversion;
sem -> nimsets;
sem -> semdata;
sem -> evals;
sem -> semfold;
sem -> importer;
sem -> procfind;
sem -> lookups;
sem -> rodread;
sem -> pragmas;
sem -> passes;
rst -> os;
rst -> msgs;
rst -> strutils;
rst -> platform;
rst -> nhashes;
rst -> ropes;
rst -> options;
highlite -> nhashes;
highlite -> options;
highlite -> msgs;
highlite -> strutils;
highlite -> platform;
highlite -> idents;
highlite -> lexbase;
highlite -> wordrecg;
highlite -> scanner;
docgen -> ast;
docgen -> astalgo;
docgen -> strutils;
docgen -> nhashes;
docgen -> options;
docgen -> nversion;
docgen -> msgs;
docgen -> os;
docgen -> ropes;
docgen -> idents;
docgen -> wordrecg;
docgen -> math;
docgen -> syntaxes;
docgen -> rnimsyn;
docgen -> scanner;
docgen -> rst;
docgen -> times;
docgen -> highlite;
ccgutils -> ast;
ccgutils -> astalgo;
ccgutils -> ropes;
ccgutils -> lists;
ccgutils -> nhashes;
ccgutils -> strutils;
ccgutils -> types;
ccgutils -> msgs;
cgmeth -> options;
cgmeth -> ast;
cgmeth -> astalgo;
cgmeth -> msgs;
cgmeth -> idents;
cgmeth -> rnimsyn;
cgmeth -> types;
cgmeth -> magicsys;
cgen -> ast;
cgen -> astalgo;
cgen -> strutils;
cgen -> nhashes;
cgen -> trees;
cgen -> platform;
cgen -> magicsys;
cgen -> extccomp;
cgen -> options;
cgen -> nversion;
cgen -> nimsets;
cgen -> msgs;
cgen -> crc;
cgen -> bitsets;
cgen -> idents;
cgen -> lists;
cgen -> types;
cgen -> ccgutils;
cgen -> os;
cgen -> times;
cgen -> ropes;
cgen -> math;
cgen -> passes;
cgen -> rodread;
cgen -> wordrecg;
cgen -> rnimsyn;
cgen -> treetab;
cgen -> cgmeth;
ecmasgen -> ast;
ecmasgen -> astalgo;
ecmasgen -> strutils;
ecmasgen -> nhashes;
ecmasgen -> trees;
ecmasgen -> platform;
ecmasgen -> magicsys;
ecmasgen -> extccomp;
ecmasgen -> options;
ecmasgen -> nversion;
ecmasgen -> nimsets;
ecmasgen -> msgs;
ecmasgen -> crc;
ecmasgen -> bitsets;
ecmasgen -> idents;
ecmasgen -> lists;
ecmasgen -> types;
ecmasgen -> os;
ecmasgen -> times;
ecmasgen -> ropes;
ecmasgen -> math;
ecmasgen -> passes;
ecmasgen -> ccgutils;
ecmasgen -> wordrecg;
ecmasgen -> rnimsyn;
ecmasgen -> rodread;
interact -> llstream;
interact -> strutils;
interact -> ropes;
interact -> nstrtabs;
interact -> msgs;
passaux -> strutils;
passaux -> ast;
passaux -> astalgo;
passaux -> passes;
passaux -> msgs;
passaux -> options;
depends -> os;
depends -> options;
depends -> ast;
depends -> astalgo;
depends -> msgs;
depends -> ropes;
depends -> idents;
depends -> passes;
depends -> importer;
transf -> strutils;
transf -> lists;
transf -> options;
transf -> ast;
transf -> astalgo;
transf -> trees;
transf -> treetab;
transf -> evals;
transf -> msgs;
transf -> os;
transf -> idents;
transf -> rnimsyn;
transf -> types;
transf -> passes;
transf -> semfold;
transf -> magicsys;
transf -> cgmeth;
main -> llstream;
main -> strutils;
main -> ast;
main -> astalgo;
main -> scanner;
main -> syntaxes;
main -> rnimsyn;
main -> options;
main -> msgs;
main -> os;
main -> lists;
main -> condsyms;
main -> paslex;
main -> pasparse;
main -> rodread;
main -> rodwrite;
main -> ropes;
main -> trees;
main -> wordrecg;
main -> sem;
main -> semdata;
main -> idents;
main -> passes;
main -> docgen;
main -> extccomp;
main -> cgen;
main -> ecmasgen;
main -> platform;
main -> interact;
main -> nimconf;
main -> importer;
main -> passaux;
main -> depends;
main -> transf;
main -> evals;
main -> types;
parseopt -> os;
parseopt -> strutils;
nimrod -> times;
nimrod -> commands;
nimrod -> scanner;
nimrod -> condsyms;
nimrod -> options;
nimrod -> msgs;
nimrod -> nversion;
nimrod -> nimconf;
nimrod -> ropes;
nimrod -> extccomp;
nimrod -> strutils;
nimrod -> os;
nimrod -> platform;
nimrod -> main;
nimrod -> parseopt;
}