Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #902

Re: Articles/books that discuss separating the context-free part of a language from the context-sensitive part?

From glen herrmannsfeldt <gah@ugcs.caltech.edu>
Newsgroups comp.compilers
Subject Re: Articles/books that discuss separating the context-free part of a language from the context-sensitive part?
Date 2013-05-20 03:17 +0000
Organization Aioe.org NNTP Server
Message-ID <13-05-016@comp.compilers> (permalink)
References <13-05-010@comp.compilers> <13-05-011@comp.compilers> <13-05-015@comp.compilers>

Show all headers | View raw


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

Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Articles/books that discuss separating the context-free part of a language from the context-sensitive part? "Costello, Roger L." <costello@mitre.org> - 2013-05-17 20:57 +0000
  Re: Articles/books that discuss separating the context-free part of a language from the context-sensitive part? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2013-05-18 00:18 +0000
    Re: Articles/books that discuss separating the context-free part of a language from the context-sensitive part? Gene Wirchenko <genew@telus.net> - 2013-05-19 18:02 -0700
      Re: Articles/books that discuss separating the context-free part of a language from the context-sensitive part? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2013-05-20 03:17 +0000
  Re: Articles/books that discuss separating the context-free part of a language from the context-sensitive part? Aleksey Demakov <ademakov@gmail.com> - 2013-05-18 16:52 +0400
  Re: Articles/books that discuss separating the context-free part of a language from the context-sensitive part? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-20 10:53 +0000
    Re: Articles/books that discuss separating the context-free part of a language from the context-sensitive part? Gene Wirchenko <genew@telus.net> - 2013-05-20 23:24 -0700
    precedence have both ways jgk@panix.com (Joe keane) - 2013-05-30 23:21 -0400
      Re: precedence have both ways glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2013-05-31 05:10 +0000
      Re: precedence have both ways anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-31 10:54 +0000

csiph-web