Related articles |
---|
Articles/books that discuss separating the context-free part of a lang costello@mitre.org (Costello, Roger L.) (2013-05-17) |
Re: Articles/books that discuss separating the context-free part of a gah@ugcs.caltech.edu (glen herrmannsfeldt) (2013-05-18) |
Re: Articles/books that discuss separating the context-free part of a ademakov@gmail.com (Aleksey Demakov) (2013-05-18) |
Re: Articles/books that discuss separating the context-free part of a genew@telus.net (Gene Wirchenko) (2013-05-19) |
Re: Articles/books that discuss separating the context-free part of a gah@ugcs.caltech.edu (glen herrmannsfeldt) (2013-05-20) |
Re: Articles/books that discuss separating the context-free part of a anton@mips.complang.tuwien.ac.at (2013-05-20) |
Re: Articles/books that discuss separating the context-free part of a genew@telus.net (Gene Wirchenko) (2013-05-20) |
From: | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
Newsgroups: | comp.compilers |
Date: | Mon, 20 May 2013 03:17:58 +0000 (UTC) |
Organization: | Aioe.org NNTP Server |
References: | 13-05-010 13-05-011 13-05-015 |
Keywords: | parse, errors |
Posted-Date: | 20 May 2013 15:03:51 EDT |
Gene Wirchenko <genew@telus.net> wrote:
(snip, I wrote)
>>somewhere near where the problem is. For languages with reserved works,
>>it is nice to say exactly what the problem is. It gets more
> It is nice for any language. When parsing string, I tend to
> avoid complex regexes for the same reason. If I build an FSA, I can
> often get specific on what the error is.
Yes, but there are some errors that you only get when there are
reserved words, when you use the word in the wrong context.
If you say:
for = 1;
in Java or C, the compiler could note that you used the reserved
word in the wrong context, instead of, for example, an invalid
'for' statement.
>>interesting without reserved words. Yesterday, following a post
>>in comp.lang.fortran I tried:
>>TYPE :: DEEP
>> TYPE(DEEP) :: POINTER
>>END TYPE
>>When compiling it, the error message, pointing right to the
>>word POINTER, say "must have POINTER attribute".
>>Fortunately it only took me a few seconds to figure out, and then
>>laugh at it. But yes, you can get funny messages without reserved
>>words.
> Could you explain what the error was? I do not know modern
> Fortran.
POINTER is the name of the variable, which doesn't have the
same-named attribute. It could be:
TYPE(DEEP), POINTER :: POINTER
(since Fortran doesn't have reserved words).
Where the variable POINTER has the POINTER attribute.
Though when I tried:
TYPE(TYPE) :: TYPE
it didn't work.
-- glen
Return to the
comp.compilers page.
Search the
comp.compilers archives again.