Marpa

Diff
Login

Diff

Differences From Artifact [475bb9a37e]:

To Artifact [bed180cec4]:


26
27
28
29
30
31
32


33
34
35
36

37
38
39
40


41
42
43
44
45
46
47
26
27
28
29
30
31
32
33
34
35
36
37

38
39
40


41
42
43
44
45
46
47
48
49







+
+



-
+


-
-
+
+







oo::class create marpa::slif::container {
    superclass marpa::slif::container::serdes

    marpa::E marpa/slif/container SLIF CONTAINER

    constructor {} {
	debug.marpa/slif/container {}
	# Note, all subordinate objects get a reference back to the
	# container they are a part of.

	# Attributes, global and lexeme semantics
	marpa::slif::container::attribute::global create GA [self]
	marpa::slif::container::attribute::lexsem create LS
	marpa::slif::container::attribute::lexsem create LS [self]

	# Grammars for the two levels.
	marpa::slif::container::grammar::g1 create G1
	marpa::slif::container::grammar::l0 create L0
	marpa::slif::container::grammar::g1 create G1 [self]
	marpa::slif::container::grammar::l0 create L0 [self]

	# TODO? semstore, used as a string pool
	debug.marpa/slif/container {/ok}
	return
    }

    # # -- --- ----- -------- -------------
94
95
96
97
98
99
100


101






102
103
104
105
106
107
108
109
110
96
97
98
99
100
101
102
103
104

105
106
107
108
109
110
111
112
113
114
115
116
117
118
119







+
+
-
+
+
+
+
+
+









	    $part clear
	    if {![dict exists $blob $label]} continue
	    $part deserialize [dict get $blob $label]
	}
	return
    }

    method validate {} {
	debug.marpa/slif/container {}
    # TODO: Validation.
	LS validate
	G1 validate
	L0 validate
	GA validate
	return
    }

    # # -- --- ----- -------- -------------
    ## Internal methods

    # # ## ### ##### ######## #############
}

# # ## ### ##### ######## #############
return