Why some ...+ FASTER PARSING than 2.4 !

new topic     » topic index » view thread      » older message » newer message

Juergen Luethje wrote:
> 
> Robert Craig wrote:
> 
> <snip>
> 
> > However, Euphoria is supposed to be a simple language.
> > I would not want to add this complexity to the front end,
> > plus complexity to the manual, as well as having newbies
> > constantly say "what are those extra files for?".
> > In theory it would be "transparent", but people would still
> > see the extra files lying around, and if anything went wrong,
> > they would wonder if they were really up-to-date.
> > 
> > At some point, I'm going to look into shrouding of include
> > files, to get a .il that can be included. I'm not sure how
> > it will go, but I'd rather do that than complicate the
> > whole process of running the interpreter. I do not want to
> > introduce another type of intermediate file.
> 
> I think this is actually the way to go! I hope it will be possible
> to create .il files that can be included (or linked or whatever).
> Very much appreciated!
> 
> <snip>
> 
> Regards,
>    Juergen
> 
> -- 
> Have you read a good program lately?

Hi Juergen and Rob,


Some interesting ideas here.  I can start to see something like:

  without parse (perhaps in il code)

at the beginning of a file to tell the Eu interpreter not to parse
the file, that it's an il file so it doesnt need it.
If there was enough info stored in the il file the Eu inter. could just
add it to the collection instead of having to first parse it.

This would mean HUGE programs could parse actually FASTER than the
old method (pre 2.5) (!!!!!)  if they were built using several includes.
The only include file we'd have to modify was the one we were
working on (debugging) at the time, and we could always work it
so that the untested code was in, yes, a different include file than
the main program.  Once debugged, stick it in with the rest by
specifying that it's pre-parsed.
I can see load times actually being FASTER than 2.4 was!
This would be really GREAT!

Heck, i wouldnt even mind 

  include preparsed MyFile.ew (optional word: 'include')

This way we'd have direct control over which files we want to debug
and those already done and still have everything load super fast!

If it turned out that we did have an error in a file that was 
included as 'preparsed' then we'd just have to go back and include
the original file, but that's life...no big deal really.  I guess
the error printout info would have to be good enough to point us
back to the original file line numbers also (as now).

Just some ideas...

Perhaps a statement:
  with preparsing

to tell the interp to convert all the files into il types, and
store them (somewhere where we wont get current_dir() errors).
Then, if we want to debug a given file perhaps
  without preparsing MyFile.ew

or something like that (a little more thought here required).

Think about this:  If we had a program that was 1,000,000 lines 
split up into as little as only *two* files file1.e (large) and file2.e
(small) and we wanted to debug the code in file2.e once file1.e was 
preparsed imagine how fast this would load on the next run when
only having to parse the small file2.e ?  WOW!

The problem i can see coming up is how each file gets it's current
directory...if they were put in another folder they would have to have
some way to get the current directory of the project exw file, not the
il files themselves.  This shouldnt be too hard?


Take care,
Al

And, good luck with your Euphoria programming!

My bumper sticker: "I brake for LED's"

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu