--SaffronExamples.tioga
-- Lucy Hederman August 7, 1987 11:13:34 am PDT
27 jul 4:30pm
saffron "BEGIN a: TYPE = {x}; BEGIN b: TYPE = {y}; END END"
No Syntax Errors Detected.
Context Tree 3210730:
Context Rib 3669378:
locally visible types
a
a [2](2238118): Enumerated Type { x }
other nodes
Context Tree 3210706:
Context Rib 3669386:
locally visible types
b
b [2](3833322): Enumerated Type { y }
other nodes
=====================================================
saffron "BEGIN a: TYPE = {x}; BEGIN b: TYPE = a; END END"
No Syntax Errors Detected.
Context Tree 1806122:
Context Rib 1806518:
locally visible types
a
a [2](4149446): Enumerated Type { x }
other nodes
Context Tree 1806146:
Context Rib 1806526:
locally visible types
b
b [1](4149434): a
other nodes
============================================================
saffron "BEGIN a: TYPE = {x}; BEGIN b: TYPE = a; END; BEGIN c: TYPE = a; { d: TYPE = RECORD [s: a, t: c]; } END END"
No Syntax Errors Detected.
Context Tree 4149714:
Context Rib 3534242:
locally visible types
a
a [2](1782878): Enumerated Type { x }
other nodes
Context Tree 4149690:
Context Rib 1959614:
locally visible types
b
b [1](1782866): a
other nodes
Context Tree 3440546:
Context Rib 1967282:
locally visible types
c
c [1](1782866): a
other nodes
Context Tree 4149594:
Context Rib 2311506:
locally visible types
d
d [2](1782938): RECORD (paint = 0) ffl (1889050)
s: [1](1782866): a
t: [1](1782902): c
other nodes
=================================================================
saffron "BEGIN a: TYPE = RECORD [REF a, {x, y}]; END"
No Syntax Errors Detected.
Context Tree 3902498:
Context Rib 3962762:
locally visible types
a
a [4](2896618): RECORD (paint = 0) ffl (2659690)
<>: [2](2895982): REF
referent type = [1](2895994): a
<>: [3](2896018): Enumerated Type { x y }
other nodes
==============================================
saffron "BEGIN a: TYPE = RECORD [a (25 : 6..27): a]; END"
No Syntax Errors Detected.
Context Tree 3670874:
Context Rib 4473454:
locally visible types
a
a [2](4414418): RECORD (paint = 0) ffl (2479066)
a: [1](4423614): a
other nodes
==============================================
saffron "BEGIN a: TYPE = RECORD [a (2 + 25 : 6..27): a]; END"
No Syntax Errors Detected.
Context Tree 3670410:
Context Rib 4473394:
locally visible types
a
a [2](4431482): RECORD (paint = 0) ffl (2480178)
a: [1](4431518): a
other nodes
(It dosen't show the positon info yet)
===========================================================
Thursday 30th July noon
saffron "BEGIN a: TYPE = RECORD [a: {x, y}, b: SELECT t: {p, q} FROM p => [one: {a, b}], q => [two: {c, d}] ENDCASE]; END"
No Syntax Errors Detected.
Context Tree 4215834:
Context Rib 3979682:
locally visible types
a empty
a empty[7](1780050): RECORD (paint = 0) ffl (1869698)
a: empty[2](1779978): Enumerated Type { x y }
b: empty[6](1780038): variant
Vanilla t emptytagType
[5](1780014): Enumerated Type { p q }
variations
p => ffl (2488718)
one: empty[3](1779990): Enumerated Type { a b }
q => ffl (2488698)
two: empty[4](1780002): Enumerated Type { c d }
other nodes
===========================================================
saffron "BEGIN A: TYPE = RECORD [a: {x, y}, b, v: SELECT t: {p, q} FROM p => [one, oneb: {a, b}], q => [two: {c, d}] ENDCASE]; END"
No Syntax Errors Detected.
Context Tree 2616274:
Context Rib 3734042:
locally visible types
A empty
A empty[7](4282902): RECORD (paint = 0) ffl (1792386)
a: empty[2](4282830): Enumerated Type { x y }
b: empty[6](4282794): variant
Vanilla t emptytagType
[5](4282926): Enumerated Type { p q }
variations
p => ffl (1795714)
one: empty[3](4283142): Enumerated Type { a b }
oneb: empty[3](4283142):
q => ffl (2483642)
two: empty[4](4282782): Enumerated Type { c d }
v: empty[6](4282794):
other nodes
===========================================================
Thursday pm. from junkx.mesa
BEGIN
T: TYPE = {p, q};
A: PUBLIC TYPE = RECORD [a: PUBLIC {x, y}, b, v: PRIVATE SELECT t: T FROM p => [one, oneb: {a, b}], q => [two: {c, d}] ENDCASE];
B: TYPE = RECORD [a: {x, y}, w, v: SELECT t: T FROM p => [one: REF {x, y}], q => [two: {x, y}] ENDCASE];
C: TYPE = RECORD [a: {x, y}, w: SELECT t: T FROM p => [one: REF {x, y}], q => [two: {x, y}] ENDCASE];
END
No Syntax Errors Detected.
Context Tree 1968626:
Context Rib 3439894:
locally visible types
C empty
C empty[22](3819278): RECORD (paint = 0) ffl (1701954)
a: empty[17](3819350): Enumerated Type { x y }
w: empty[21](3816438): variant
Vanilla t emptytagType
[1](3819806): T empty
variations
p => ffl (3209062)
one: empty[19](3819326): REF
referent type = [18](3819290): Enumerated Type { x y }
q => ffl (3209082)
two: empty[20](3819314): Enumerated Type { x y }
B empty
B empty[16](3819362): RECORD (paint = 0) ffl (2636978)
a: empty[11](4218054): Enumerated Type { x y }
w: empty[15](3819374): variant
Vanilla t emptytagType
[1](3819806): T empty
variations
p => ffl (3209002)
one: empty[13](4218042): REF
referent type = [12](4218030): Enumerated Type { x y }
q => ffl (3209022)
two: empty[14](2935090): Enumerated Type { x y }
v: empty[15](3819374):
A public
A empty[10](4218066): RECORD (paint = 0) ffl (2237266)
a: public[6](3339270): Enumerated Type { x y }
b: private[9](3446154): variant
Vanilla t emptytagType
[1](3819806): T empty
variations
p => ffl (1786594)
one: empty[7](3339246): Enumerated Type { a b }
oneb: empty[7](3339246):
q => ffl (1898066)
two: empty[8](3339198): Enumerated Type { c d }
v: private[9](3446154):
T empty
T empty[5](3819710): Enumerated Type { p q }
other nodes
===========================================================
Sequences
BEGIN
T: TYPE = {p, q};
A: PUBLIC TYPE = RECORD [a: PUBLIC {x, y}, b, v: PRIVATE SELECT t: T FROM p => [one, oneb: {a, b}], q => [two: {c, d}] ENDCASE];
B: TYPE = RECORD [a: {x, y}, w, v: SELECT t: T FROM p => [one: REF {x, y}], q => [two: {x, y}] ENDCASE];
C: TYPE = RECORD [a: {x, y}, w: SEQUENCE t: {a, b, c} OF REF A];
END
No Syntax Errors Detected.
Context Tree 4428194:
Context Rib 4427878:
locally visible types
C empty
C empty[23](2005730): RECORD (paint = 0) ffl (3525506)
a: empty[18](2005814): Enumerated Type { x y }
w: empty[22](2005742): sequence
t empty
tagType [21](2005754): Enumerated Type { a b c }
type [20](2005766): refPointer
target type = [19](2005790): REFERENT
contents type = [2](2006542): A empty
B empty
B empty[17](2005826): RECORD (paint = 0) ffl (1922514)
a: empty[11](2005910): Enumerated Type { x y }
w: empty[16](2005838): variant
Vanilla t emptytagType
[1](2006554): T empty
variations
p => ffl (2483162)
one: empty[14](2005874): refPointer
target type = [13](2005886): REFERENT
contents type = [12](2005898): Enumerated Type { x y }
q => ffl (2424474)
two: empty[15](2005862): Enumerated Type { x y }
v: empty[16](2005838):
A public
A empty[10](2005922): RECORD (paint = 0) ffl (1910114)
a: public[6](2005982): Enumerated Type { x y }
b: private[9](2005934): variant
Vanilla t emptytagType
[1](2006554): T empty
variations
p => ffl (2748738)
one: empty[7](2005970): Enumerated Type { a b }
oneb: empty[7](2005970):
q => ffl (2424514)
two: empty[8](2005958): Enumerated Type { c d }
v: private[9](2005934):
T empty
T empty[5](2005994): Enumerated Type { p q }
other nodes
===========================================================
OVERLAID and star tag
BEGIN
T: TYPE = {p, q};
A: PUBLIC TYPE = RECORD [a: PUBLIC {x, y}, b, v: PRIVATE SELECT t: T FROM p => [one, oneb: {a, b}], q => [two: {c, d}] ENDCASE];
B: TYPE = RECORD [a: {x, y}, w, v: SELECT OVERLAID * FROM p => [one: REF {x, y}], q => [two: {x, y}] ENDCASE];
C: TYPE = RECORD [a: {x, y}, w: PUBLIC SEQUENCE t: {a, b, c} OF REF A];
END
No Syntax Errors Detected.
Context Tree 4421410:
Context Rib 4431014:
locally visible types
C empty
C empty[24](2006662): RECORD (paint = 0) ffl (1872610)
a: empty[19](2005682): Enumerated Type { x y }
w: public[23](2006722): sequence
t empty
tagType [22](2006878): Enumerated Type { a b c }
type [21](2005658): refPointer
target type = [20](2005670): REFERENT
contents type = [2](4432058): A empty
B empty
B empty[18](2006854): RECORD (paint = 0) ffl (2237506)
a: empty[11](2007094): Enumerated Type { x y }
w: empty[17](2006986): variant
OverlaidtagType
[16](2006974): Enumerated Type { p q }
variations
p => ffl (640098)
one: empty[14](2007022): refPointer
target type = [13](2007010): REFERENT
contents type = [12](2007106): Enumerated Type { x y }
q => ffl (2424494)
two: empty[15](2006962): Enumerated Type { x y }
v: empty[17](2006986):
A public
A empty[10](2007082): RECORD (paint = 0) ffl (1922082)
a: public[6](2006746): Enumerated Type { x y }
b: private[9](2006734): variant
Vanilla t emptytagType
[1](4432046): T empty
variations
p => ffl (3525602)
one: empty[7](2006758): Enumerated Type { a b }
oneb: empty[7](2006758):
q => ffl (2480850)
two: empty[8](2006770): Enumerated Type { c d }
v: private[9](2006734):
T empty
T empty[5](2005802): Enumerated Type { p q }
other nodes
===========================================================
junky.mesa : (August 7, 1987 11:13:24 am PDT)
BEGIN
T: TYPE = MACHINE DEPENDENT {p, q};
--A: PUBLIC TYPE = MACHINE DEPENDENT RECORD [a: PUBLIC {x, y}, b, v: PRIVATE SELECT t: T FROM p => [one, oneb: {a, b}], q => [two: {c, d}] ENDCASE];
--B: TYPE = MONITORED RECORD [a: {x, y}, w, v: SELECT OVERLAID * FROM p => [one: REF {x, y}], q => [two: {x, y}] ENDCASE];
--C: TYPE = RECORD [a: {x, y}, w: PUBLIC SEQUENCE t: {a, b, c} OF REF READONLY A];
the next type expression is a record of typeitems, i.e. the field list is made up of unnamed fields, and therefore there is no access (PUBLIC / PRIVATE) associated with them.
TypeList: TYPE = RECORD [T ← p, INT ←, {a, b} ← TRASH];
D: TYPE = [3..5);
DEnum: TYPE = {a, b, c, d, e};
DSub: TYPE = DEnum (b..d];
E: TYPE = PUBLIC REF ANY;
F: TYPE = REF;
G: TYPE = VAR F;
H: TYPE = ORDERED BASE POINTER TO READONLY T;
HH: TYPE = PRIVATE POINTER (0..4);
I: TYPE = LIST OF READONLY D;
Colours: TYPE = {red, blue};
J: TYPE = RECORD [a: {x, y}, w: PRIVATE SELECT t: T FROM red => [one, oneb: {a, b}], blue => [two: {c, d}] ENDCASE];
JDiscriminated: TYPE = red J;
J2Discriminated: TYPE = J.red;
J3Discriminated: TYPE = J[red];
K: TYPE = RECORD [SELECT t: T FROM red => [s: SEQUENCE size: INTEGER OF Colours], blue => [two: {c, d}] ENDCASE];
KSpecialized1: TYPE = K.red [10];
KSpecialized2: TYPE = red K [10];
END
saffron junky.mesa
No Syntax Errors Detected.
Context Tree 4061706:
Context Rib 4059046:
locally visible types
KSpecialized2 empty
KSpecialized2 empty<>[50](3199178): exp specianated [49](3199166): red specianated [17](3145806): K empty<>
KSpecialized1 empty
KSpecialized1 empty<>[48](3199154): exp specianated [47](3199142): red specianated [17](3145806): K empty<>
K empty
K empty<>[46](3199130): RECORD (paint = 0) ffl (2579818)
<>: [45](3199106): variant
Vanilla t emptytagType
[1](3145614): T empty<>
variations
red => ffl (2579978)
s: empty[43](3199034): sequence
size empty
tagType [15](4130174): INTEGER
type [12](3145746): Colours empty<>
tagType <>
blue => ffl (2571398)
two: empty[44](3199070): Enumerated Type { (paint = 8) c d }<><>
J3Discriminated empty
J3Discriminated empty<>[42](3198998): exp specianated [13](3145758): J empty<>
J2Discriminated empty
J2Discriminated empty<>[41](3198986): red specianated [13](3145758): J empty<>
JDiscriminated empty
JDiscriminated empty<>[40](3198974): red specianated [13](3145758): J empty<>
J empty
J empty<>[39](3198962): RECORD (paint = 0) ffl (1812902)
a: empty[35](3198818): Enumerated Type { (paint = 5) x y }<>
w: private[38](3198938): variant
Vanilla t emptytagType
[1](3145614): T empty<>
variations
red => ffl (2300246)
one: empty[36](3198854): Enumerated Type { (paint = 6) a b }<>
oneb: empty[36](3198854): <>
blue => ffl (2439874)
two: empty[37](3198902): Enumerated Type { (paint = 7) c d }<><>
Colours empty
Colours empty<>[34](3198794): Enumerated Type { (paint = 4) red blue }
I empty
I empty<>[33](3198782): LIST (readOnly)of
item type = [3](3145638): D empty<>
HH empty
HH private<>[32](3198770): Pointer
: (exp..exp)
target type = [2](3145218): bottom
H empty
H empty<>[31](3198758): (ordered) Pointer (base) (readOnly)
target type = [1](3145614): T empty<>
G empty
G empty<>[30](3198746): var
target type = [7](3145686): F empty<>
F empty
F empty<>[29](3198734): Ref
target type = [28](3198722): REFERENT
contents type = [1](4130294): top
E empty
E public<>[27](3145974): Ref
target type = [26](3145962): REFERENT
contents type = [1](4130294):
DSub empty
DSub empty<>[25](3145950): sub range of
[4](3145650): DEnum empty<>
: (exp..exp]
DEnum empty
DEnum empty<>[24](3145938): Enumerated Type { (paint = 3) a b c d e }
D empty
D empty<>[23](3145926): sub range of
[2](3145218):
: [exp..exp)
TypeList empty
TypeList empty<>[22](3145914): RECORD (paint = 0) ffl (3295074)
<>: [1](3145614): T empty<><𡤎 exp>
<>: [14](4130162): INT<← >
<>: [21](3145890): Enumerated Type { (paint = 2) a b }<←TRASH >
T empty
T empty<>[20](3145842): Enumerated Type (MachineDependent) { (paint = 1) p q }
other nodes
-- Done.