2008 Oct 23, 2:18I had no idea lingual prescriptivists vs descriptivists were split in a partisan manner: '... The Secretary [of the Department of Education] released a report that includes dire warnings of impending
doom...The cause of this immanent catastrophe is, of course, those pesky linguists, the libertarian destroyers of good usage who claim that, well, anything goes. According to the report, "the
language problem has now reached the crisis level and we are now experiencing a severe epidemic of bad grammar that will affect the very fiber of our nation." The Secretary added, "an alarming number
of children are suffering from the bad advice given by those socialist, left-wing, atheistic linguists and we just gotta do something about it."'humorlanguagepoliticsgrammar
Sarah asked me if I knew of a syntax highlighter for the QuickBase formula language which she uses at work. I couldn't find one but thought it might be fun to make a QuickBase Formula syntax highlighter based on the QuickBase help's
description of the formula syntax. Thankfully the language is relatively simple since my skills with ANTLR, the parser generator, are rusty now and I've only
used it previously for personal projects (like Javaish, the ridiculous Java based shell idea I had).
With the help of some great ANTLR examples and an ANTLR cheat
sheet I was able to come up with the grammar that parses the QuickBase Formula syntax and prints out the same formula marked up with HTML SPAN tags and various CSS classes. ANTLR produces the
parser in Java which I wrapped up in an applet, put in a jar, and embedded in an HTML page. The script in that page runs user input through the applet's parser and sticks the output at the bottom
of the page with appropriate CSS rules to highlight and print the formula in a pretty fashion.
What I learned:
I didn't realize that Java applets are easy to use via script in an HTML page. In the JavaScript I
can simply refer to publicly exposed methods on the applet and run JavaScript strings through them. It makes for a great combination: do the heavy coding in Java and do the UI in HTML. I may end up
doing this again in the future.
I love ANTLRWorks, the ANTLR IDE, that didn't exist the last time I used ANTLR. It tells you about issues with your grammar as you create it,
lets you easily debug the grammar running it forwards and backwards, display parse trees, and other useful things.
2008 Oct 2, 9:37Cool graphical ANTLR IDE! They didn't have this the last time I used ANTLR. "ANTLRWorks is a novel grammar development environment for ANTLR v3 grammars written by Jean Bovet (with suggested use
cases from Terence Parr). It combines an excellent grammar-aware editor with an interpreter for rapid prototyping and a language-agnostic debugger for isolating grammar errors. ANTLRWorks helps
eliminate grammar nondeterminisms, one of the most difficult problems for beginners and experts alike, by highlighting nondeterministic paths in the syntax diagram associated with a grammar."antlridegraphgrammartoolfreedownloaddevelopmentopensourcejava
The move of my website to NearlyFreeSpeech.NET is mostly complete except for a few server side things not working yet: RandomGrammar and parts of Vizicious. I'm still very happy with the
NearlyFreeSpeech.NET hosting and so far I've only spent a few cents on hosting. At this rate I'll only spend a few dollars a year.
I've moved all my pages to use the same CSS and hooked it up with cookies to my Kuler color options so now changes to the color theme will
stick and apply to all my pages. I haven't figured out the caching for this yet so you may have to refresh to see changes to color applied.
2008 Mar 4, 12:27A description of GeoRSS: "Geography Markup Language (GML) is an XML grammar written in XML Schema for the modelling, transport, and storage of geographic information"georssrssfeedatomgeoreferencestandardsxml
2007 Mar 28, 12:54Given an ABNF description of a grammar, RandomGrammar produces a random string that fits that grammar. This is a personal project I worked on previously and have just now made available again on my
website.mepersonalprojectsjavarandomgrammarabnf