Re: Can't read CString after serialization
- From: "Tom Serface" <tom.nospam@xxxxxxxxxxxxx>
- Date: Tue, 11 Mar 2008 19:23:10 -0700
Can't argue with any of that... :o)
Tom
"Joseph M. Newcomer" <newcomer@xxxxxxxxxxxx> wrote in message news:hgaet354ssc3asdvmm4506fljjhnufchkt@xxxxxxxxxx
Remember that the machines of that era were 1000x slower than a low-end consumer machine,
had 18-bit or 24-bit addresses, "huge" machines (like the one I used) had 4MB of memory (I
tell people "The first 4MB module I purchased required a fork lift to install", which is
true, but not quite accurate; it required an "extended fork" fork lift to install it). We
actually had an XML-like notation we used (I think I may have invented XML in 1974 while
working on my dissertation, simply because I needed a textual representation of complex
graphs). When we started the PQCC (Production Quality Compiler-Compiler) project at CMU
in 1977, I insisted we have a textual representation of the data structures. Steve Hobbs
designed what would have been the DTD and wrote the first parser. Parsing it was slow
enough that we had a tagged-binary representation we could also use. David Dill (noted
for his work on Verified Voting) wrote the tagged-binary I/O module for us, around 1978.
The tagged binary version was smaller than the textual version, and read in much faster.
Eventually I got to the point where the binary reader was blindingly fast compared to the
text reader, about three iterations from our first implementation.
We used it to represent compiler intermediate state. Our parse trees, flow graphs,
generated-code lists, etc. were all represented in this format. I wrote the second
generation tooling that did the equivalent of parsing a DTD and creating a table-driven
interpreter that would convert the external form to internal form, as well as truly pretty
pictures of the data structures. I later wrote the same package for IDL when we were at
Tartan Laboratories (a compiler company in Pittsburgh). John Nestor and I wrote the
interface to the implementation language we were using. David Lamb and John Nestor took
the work we had done on the "LG" (Linearized Graph) package and invented the IDL language,
which gave us platform-independent representations of very rich data structures (it was
David's PhD dissertation). We could write out the IDL text from a compiler on one machine
and read it into a code generator hosted on another machine. John Nestor and Paola
Gianinni wrote the formal (denotational semantic) description of IDL, which supported
multiple inheritance and subclassing. Don Stone helped us implement the open-source
portable version described in our book.
joe
.
- References:
- Can't read CString after serialization
- From: Alexh
- Re: Can't read CString after serialization
- From: Tom Serface
- Re: Can't read CString after serialization
- From: Giovanni Dicanio
- Re: Can't read CString after serialization
- From: Tom Serface
- Re: Can't read CString after serialization
- From: Joseph M . Newcomer
- Re: Can't read CString after serialization
- From: Tom Serface
- Re: Can't read CString after serialization
- From: Joseph M . Newcomer
- Can't read CString after serialization
- Prev by Date: Re: MFC/C++ vs .Net/C#
- Next by Date: Re: MFC/C++ vs .Net/C#
- Previous by thread: Re: Can't read CString after serialization
- Next by thread: Re: Can't read CString after serialization
- Index(es):
Relevant Pages
|