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
oo::class create marpa::slif::container {
    superclass marpa::slif::container::serdes

    marpa::E marpa/slif/container SLIF CONTAINER

    constructor {} {
	debug.marpa/slif/container {}



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

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

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

    # # -- --- ----- -------- -------------







>
>



|


|
|







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 [self]

	# Grammars for the two levels.
	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
	    $part clear
	    if {![dict exists $blob $label]} continue
	    $part deserialize [dict get $blob $label]
	}
	return
    }



    # TODO: Validation.






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

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

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







>
>
|
>
>
>
>
>









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 {}
	LS validate
	G1 validate
	L0 validate
	GA validate
	return
    }

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

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

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