Name: Seth Gordon
Member since: 2000-04-13 14:46:46
Last Login: N/A
Homepage: http://www.ropine.com
Notes: I work as a technical writer for Kenan Systems, a subsidiary of Lucent that makes software for telecom and utility companies. The nice thing about being a technical writer is that if you have one grammatical error in the middle of one paragraph, the whole book it's embedded in doesn't become unreadable. (Well, not usually.) My current activities are:
- Getting a couple of Linux machines at home to talk happily with another and with my ISP. Maybe I'll use the diary to post some of my, umm, learning experiences.
- Taking a C++ class, and thus learning why so many people hate it. To redeem my soul, I'm going to try writing a Scheme interpreter for my final project in this class.
- Writing a Perl module to handle MIF (Maker Interchange Format) files.
Recent blog entries by sethg
8 Aug 2000 »
Finally I have some time to work on the FrameMaker::Mif project again. To paraphrase Spock, I am trying to build a LL(1)
parser with stone knives and bearskins.
- The first time I tried writing the MIF parser, I used the Parse::RecDescent module. Unfortunately, when I encountered
bugs -- I don't know whether they were my bugs or the module author's -- I had trouble debugging it, because the data
structures that Parse::RecDescent produces are large, hairy, and contain code references (which Data::Dumper doesn't
print out).
- Then I wrote a yacc grammar and used the -P (if memory serves) switch on byacc to generate a y.tab.pl file. I got a
bare-bones module working with that technique, but now I want to change the data structure that the parser generates,
and
since I am a Prisoner of Bill here, schlepping files to and from a Unix account every time I want to tweak the grammar is not
my idea of a good time.
- Then I thought, aha, Perl now ships with all these funky XML modules -- I can just translate the MIF file into an
XML-syntax
file that has exactly the same abstract structure, and use the XML modules to read the file back in and play with it. This is
beginning to look like more trouble than it's worth.
- So, I've been boning up on the Tiger Book, writing up grammars, and then working out the FIRST and FOLLOW sets.
Eleven terminals, ten nonterminals, nineteen productions, nothing but paper 'n ink. (I oughtta be a good boy and write a
script
to check my math before I actually implement this thing, right?) If I code this and it works, then I'll probably just download
Parse::RecDescent again and use it. If it doesn't work, at least I'll have a better chance of knowing why....
18 Apr 2000 »
\begin{maxwellsmartvoice}
Aha, the old "failing to end a class definition with a semicolon after the closing brace causes a syntax error on
the next line" trick. Second time I've fallen for it this semester.
\end{maxwellsmartvoice}
sethg certified others as follows:
- sethg certified sethg as Apprentice
- sethg certified Sunir as Apprentice
Others have certified sethg as follows:
- sethg certified sethg as Apprentice
[ Certification disabled because you're not logged in. ]