diff options
| author | Charles.Forsyth <devnull@localhost> | 2006-12-22 20:52:35 +0000 |
|---|---|---|
| committer | Charles.Forsyth <devnull@localhost> | 2006-12-22 20:52:35 +0000 |
| commit | 46439007cf417cbd9ac8049bb4122c890097a0fa (patch) | |
| tree | 6fdb25e5f3a2b6d5657eb23b35774b631d4d97e4 /module/alphabet/abc.m | |
| parent | 37da2899f40661e3e9631e497da8dc59b971cbd0 (diff) | |
20060303-partial
Diffstat (limited to 'module/alphabet/abc.m')
| -rw-r--r-- | module/alphabet/abc.m | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/module/alphabet/abc.m b/module/alphabet/abc.m new file mode 100644 index 00000000..384b8d38 --- /dev/null +++ b/module/alphabet/abc.m @@ -0,0 +1,74 @@ +# warning: autogenerated code; don't bother to change this, change mktypeset.b or abc.b instead +Abc: module { + PATH: con "/dis/alphabet/abc.dis"; + Value: adt { + m: fn(v: self ref Value): ref Value.Vm; # vmods + t: fn(v: self ref Value): ref Value.Vt; # vtypes + A: fn(v: self ref Value): ref Value.VA; # abc + w: fn(v: self ref Value): ref Value.Vw; # wfd + c: fn(v: self ref Value): ref Value.Vc; # cmd + r: fn(v: self ref Value): ref Value.Vr; # status + f: fn(v: self ref Value): ref Value.Vf; # fd + s: fn(v: self ref Value): ref Value.Vs; # string + typec: fn(v: self ref Value): int; + type2s: fn(t: int): string; + free: fn(v: self ref Value, used: int); + dup: fn(v: self ref Value): ref Value; + pick { + Vm => + i: Modulesval; + Vt => + i: Typesval; + VA => + i: Abcval; + Vw => + i: chan of ref Sys->FD; + Vc => + i: ref Sh->Cmd; + Vr => + i: chan of string; + Vf => + i: chan of ref Sys->FD; + Vs => + i: string; + } + }; + init: fn(); + Abcval: adt { + refcount: chan of int; + alphabet: Alphabet; + }; + Typesval: adt { + abc: ref Value.VA; + types: list of ref Type; + }; + Modulesval: adt { + abc: ref Value.VA; + types: list of ref Type; + mods: list of (string, string, ref Sh->Cmd); + query: chan of (string, chan of (string, ref Sh->Cmd)); + }; + Type: adt { + name: string; + actname: string; + nodup: int; + destructor: ref Sh->Cmd; + }; + mkabc: fn(alphabet: Alphabet): ref Value.VA; + +}; + +Abcmodule: module { + types: fn(): string; + init: fn(); + quit: fn(); + run: fn(errorc: chan of string, r: ref Reports->Report, + opts: list of (int, list of ref Abc->Value), args: list of ref Abc->Value): ref Abc->Value; +}; + +Declares: module { + PATH: con "/dis/alphabet/abc/declares.dis"; + init: fn(); + quit: fn(); + declares: fn(a: Alphabet, decls: ref Sh->Cmd, errorc: chan of string, stopc: chan of int): string; +}; |
