use dummy field as part of the goto label

Jay R. Ashworth jra at baylink.com
Tue May 6 12:09:17 PDT 2008


On Tue, May 06, 2008 at 01:30:43PM -0400, Kenneth Brody wrote:
> >I mean that, as nearly as I can model it, the parsing of (dummy) is not
> >being handled by the parser, it's being handled in each individual
> >lexer routine called by the parser.
> 
> No, there is one expression parser, and it is used whenever the syntax
> permits an expression.

Ah, ok.  But the parser makes that decision, not the individual
language element routines?

> >Generally, by "first-class", I mean that syntactical constructs -- of
> >which "put parens around (at least) the name of a variable (and
> >preferably 'an expression') and I'll let you use it where you would
> >normally need an unquoted literal, syntactically" should be handled by
> >the parser itself, and routines it calls, and not by individual lexer
> >routines (like the routine that handles the LOOKUP command and it's
> >arguments, for example).
> 
> The lookup parser uses the same expression parser as the rest of filePro.
> However, it only calls it if the filename or key starts with an open-paren,
> and if so, it compiles the lookup structure flagged such that the runtime
> engine knows to pull the result of the expression as the filename, rather
> than being hard-coded in the lookup structure itself.  This was needed in
> order to maintain both source and compiled code compatibility.

Oh yes.  P-code.  I always forget.

> >This guarantees that the same facility is available everywhere, and that
> >it works the same way everywhere
> 
> It already works that way.
> 
> >-- and that you guys only have to
> >maintain it once, incidentally.  :-)
> 
> Just curious...  Would you expect the following to be valid?
> 
>     xx = "gosub foo"
>     (xx)

I can envision a syntax definition -- which I don't *think* would break
any current syntax by collision -- which would permit that, at the
source level, though not necessarily, as you note...

> Yes, I know that some interpreted languages allow some sort of "eval"
> command to execute commands built at runtime, but filePro is compiled,
> and not interpreted.  (Okay, the old "filePro" was interpreted, but
> today's "filePro" is really what was formerly called "filePro Plus"
> way back when.)

at the P-code level.

Ignoring rcabe/clerk (which really don't seem to have any reason to
exist anymore, except source code privacy -- load time on any
reasonable machine dropped below human reflexes a *long* time back) for
the moment -- if it *is* compiled, it's JIT compilation, by which I
mean it's compiled at load time not at execution time.  Correct?

Cheers,
-- jra
-- 
Jay R. Ashworth                   Baylink                      jra at baylink.com
Designer                     The Things I Think                       RFC 2100
Ashworth & Associates     http://baylink.pitas.com                     '87 e24
St Petersburg FL USA      http://photo.imageinc.us             +1 727 647 1274

	     Those who cast the vote decide nothing.
	     Those who count the vote decide everything.
	       -- (Joseph Stalin)


More information about the Filepro-list mailing list