Safe Serialization Under Mutual Suspicion/"Reversing" Evaluation

From Erights

(Difference between revisions)
Jump to: navigation, search
(first paragraph added)
(subsection title and second paragraph added)
Line 3: Line 3:
The interface between the two is the DEBuilder API, explained in [http://www.erights.org/data/serial/jhu-paper/data-e-manual.html Appendix A: The Data-E Manual].
The interface between the two is the DEBuilder API, explained in [http://www.erights.org/data/serial/jhu-paper/data-e-manual.html Appendix A: The Data-E Manual].
Since most of the API is a straightforward reflection of the Data-E grammar productions, if you wish, you may safely skip these details and proceed here by example.
Since most of the API is a straightforward reflection of the Data-E grammar productions, if you wish, you may safely skip these details and proceed here by example.
 +
 +
== Evaluating Data-E ==
 +
The semantics of Data-E are defined by the semantics of its evaluation as an <i><b><font color="#009000">E</font></b></i> program.
 +
We could unserialize using the full <i><b><font color="#009000">E</font></b></i> evaluator.
 +
However, this is inefficient both as an implementation and as an explanation.
 +
Instead, here is the Data-E evaluator as a builder, implementing exactly this subset of <i><b><font color="#009000">E</font></b></i>'s semantics.
 +
[http://www.erights.org/data/serial/jhu-paper/recog-n-build.html Part 2: "Reversing" Evaluation]
[http://www.erights.org/data/serial/jhu-paper/recog-n-build.html Part 2: "Reversing" Evaluation]

Revision as of 06:12, 29 January 2008

As we've seen, we make serializers, unserializers, and other transformers like expression simplifiers by composing a recognizer with a builder. The interface between the two is the DEBuilder API, explained in Appendix A: The Data-E Manual. Since most of the API is a straightforward reflection of the Data-E grammar productions, if you wish, you may safely skip these details and proceed here by example.

Evaluating Data-E

The semantics of Data-E are defined by the semantics of its evaluation as an E program. We could unserialize using the full E evaluator. However, this is inefficient both as an implementation and as an explanation. Instead, here is the Data-E evaluator as a builder, implementing exactly this subset of E's semantics.


Part 2: "Reversing" Evaluation

Personal tools
more tools