I like the notion of "further muddling reader's confusion", even though I don't fully understand it. Formal languages differ in syntax and programmers need to come to terms with these differences, which will not go aweay any time soon
With my young students, who are too bright to be models for everyone, I use BNF and, when I want to deal with semantics too, VDL. (Every programmer needs to be able to read and write them.) Most important, they write lexical-breakout routines for each new language. If you can write a routine that parses a language successfully you understand its syntax. If not, not. The other distinction that needs to be very fully assimilated is that between a language and a metalanguage. Some of the "complications" associated with the use of macro languages to generate statements in other languages are situational and all but ineluctable: the doubled single quote within a quoted string is the obvious example. I also condition my students to expect a few barred windows and culs de sac. C, for example, got some few operator-precedence relationships wrong, and in the upshot a good many sets of parentheses that should be otiose are needed. This is incoherent, ugly; but it can be lived with; and it should be expected. It remains better "to light a candle than to curse the dark". John Gilmore, Ashland, MA 01721 - USA ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
