[antlr-interest] "An Introduction to ANTLR" presentation slides

Andy Tripp antlr at jazillian.com
Tue Mar 4 07:43:17 PST 2008


Gerald B. Rosenberg wrote:
> At 04:23 PM 3/3/2008, Andy Tripp wrote:
>>> Yes, in a snese, it is all smenatcis.  But, in the snese of use in 
>>> froaml cmoptuer sceicne dsicuorse, to euqtae 'c' 'a' 't' to "cat" is 
>>> srtutcrue, to euqtae 'c' 'a' 't' to "feline" is smenatcis.
>> My point was that there's more to "meaning" than semantics...they're 
>> not synonymous.
>> You say 'c' 'a' 't' to "cat" is "structure" - please, don't introduce 
>> new terms in the middle of the conversation. You said before that
>> "cat" is "syntax".
>
> And, as I said before, syntax=structure.
>
>> As for "formal computer science discourse", that's not the context 
>> here. Clearly, most
>> people here are just programmer types. I love Noem Chomsky as much as 
>> the next guy, but right now let's
>> use Andrew Tanenbaum's terminology :)
>
> Rather ironic that you invoke Andy, an intellectually respected 
> professor of computer science, architect of an OS most notable for its 
> academic purity and intended precisely for the teaching of the formal 
> computer sciences.
He may be the architect of an OS (minix) that's notable for purity, but 
more important is that he himself is most notable as an author of 
compiler books.
>
> Anyway, without any touchstone, your system of terminology is just as 
> valid and just as wrong as all others.  And, as Loring pointed out, 
> just as useful as arguing down a rabbit hole.
The point of terminology is to help convey ideas. It doesn't matter that 
no terminology is perfect. It does
matter that some terminologies are better at getting the point across. 
I'm not arguing about something
abstract and theoretical, I'm arguing that the "syntactic predicate" 
terminology could be better.
"Better" not meaning "more valid", of course, but meaning "better at 
conveying to ANTLR users
what it's used for".
>
> Once we agree to use a touchstone, to establish a grounded system, we 
> can begin to evaluate which terminology is more correct, where 
> correctness is gauged on conceptual expressiveness.  History -- formal 
> computer science discourse -- gives one, though I grant you that it 
> inherently bears little weight in determining what should necessarily 
> be considered correct going forward.  Still, the evolved and refined 
> definitions from the language and computer sciences present a very 
> broad, rational and substantive basis for conceptual expression.
>
> A system of terminology arising from a casual, subjective 
> interpretation of what words mean --where lexers produce meaning, 
> meaning is in some way more that just semantics, and syntax is only 
> the literal, concrete input elements -- would NEVER work.
>
> Ok, it MIGHT work.
It DOES work. That's how any compiler textbook works and how any normal 
conversation
among programmers works. You use some common terminology, stick with it, 
and hope to rarely get into
these long abstract discussions like this one.

I DO object to you saying "syntax==structure" and then starting to say 
"structure" instead of syntax.
Yes, that's perfectly valid in theory. In practice, though, it's 
obscuring things, as we're discussing the
term "syntax" itself.

I know that no terminology is perfect, so why do people keep going down 
this deep rabbit hole of what exactly "syntax" means?
In the end, it doesn't matter that it actually, deep down, means "the 
form of ANY input".
What matters is that people who use ANTLR typically use "syntax" to mean 
"form OF THE (initial) INPUT".
(At least the people who write software rather than participate in these 
abstract debates).
>
> Actually, COULD work and nicely at that, too, since that is probably 
> how the existing formal language/computer science definitions began 
> some 50 or 100 or more years ago.  Should just take you a good solid 
> decade or so to evolve and refine new definitions to a point where we 
> can begin gauging relative conceptual expressiveness.
That all sounds so...highminded.
Maybe you should be a lawyer ;)
>
> Compelling use cases where the existing, archaic definitions are 
> objectively insufficient to express a particularly valued concept 
> would be helpful.
Translation: "When does the theoretical meaning of 'syntax' fall short".
Answer: When you use it, in the context of people using a compiler tool, 
to mean more than "the form of the input language".
>
>
> Best,
> Gerald
>
>



More information about the antlr-interest mailing list