tim@cmu-cs-k.ARPA (Tim Maroney) (12/11/84)
The reason, incidentally, that PCC can't handle typedef identifiers properly is that they are recognized by the lexical analysis, not as identifiers, but as type keywords (like "int", etc.) When a typedef is parsed, the typedef identifier is stuck in the global symbol table as a special-purpose identifier, and this is checked by the lexical analysis processing. You see, declaration parsing is grody to the max in PCC, and there is no rule which is capable of handling a declaration which neither contains a type keyword or defaults to int. The reason it has never been fixed is that it would be quite hard to redesign the declaration parsing and semantics. The real problem with PCC is that it predates the current version of the language, and new features were patched in without rhyme or reason.... -=- Tim Maroney, Carnegie-Mellon University Computation Center ARPA: Tim.Maroney@CMU-CS-K uucp: seismo!cmu-cs-k!tim CompuServe: 74176,1360 audio: shout "Hey, Tim!" "Remember all ye that existence is pure joy; that all the sorrows are but as shadows; they pass & are done; but there is that which remains." Liber AL, II:9.