I would prefer to use one tool which supports the language I am using
instead of a preprocessor which supports some of it by replacing
strings by other strings to be given to another tool which tries to
cope with another part of the language.
Would you suggest that someone who does not want to use such a
preprocessor should write an entire extended language frontend
(perhaps written by reusing code from a full proper BNF-based VHDL
frontend)?
Mr. Rickman expressed concern from a language point of view in terms
of syntax more directly modeling his ideal representation not being
present in VHDL, not whether or not he was willing to use a
preprocessor.
The BNF for VHDL 93 for instance, isn't semantically complete, nor is
it non-ambiguous. You actually have to understand the language to
contemplate making changes to it, and the BNF isn't sufficient. It
seems a bit overkill to start anew then replicate most of VHDL.
A preprocessor sufficient for Mr. Rickman's preferred concurrent
assignment statement form could easily be written in a small AWK or
Perl script, passing through elements of a source file not affected.
You'd probably be well served maintaining line count between the two
versions, making VHDL a bit more ugly.
You could also conceivably translate to your preferred syntax from
VHDL in an editor like emacs or joe, write in your preferred syntax
abstraction and store the file in VHDL. It would be embarrassing to
stumble over understanding VHDL in printed form. The question is
whether or not someone else could read it comfortably if you did the
obverse and made the extended version normative. The point being that
in Domain Specific Language, no two domains have perfect
intersections, and somewhere, someone is making a compromise.
The idea of using a preprocessor was meant as a gauge of how serious
Mr. Rickman was for his syntax, a way of actually implementing it
without breaking anything, using a method shared with the first C++
implementation.
--
“Blindness can take many forms other than the inability to see.
Fanatics are often blinded in their thoughts. Leaders are often
blinded in their hearts.”