[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Basic compiler



BluPhoenyx wrote:
Michael J. Mahon wrote:


An interesting alternative for speed and space would be ProBasic from Beagle Bros. This modular Applesoft is incredibly powerful and versatile for many programming tasks. One creates modules from either Applesoft or Machine language and/or incorporate external modules (as available). Speed is automatically increased by reducing the number of program lines in each module.


Not sure I know what you mean.

A program must always execute all the statements called for by
the control flow, regardless of modularization.

Changing module size could only *add* to the number of module
crossings required to execute a program, never subtract.


It's an impressive feat of programming. At least to me. Except for the modularity, Applesoft runs the same. IIRC, variables are available to all child modules as one would expect. I can't really explain it, you need to read the doc's. Sadly, I can't locate mine.

I'll look for it.

As John pointed out, there is some savings possible in reducing the
scope of the branch target searches--at the cost of increased time to
branch outside the "module".

In my programs, inner loops are generally very tight (which gains the
benefit of a short forward search if the target statement number's
MSB is the same) or are FOR loops, which avoid searching.

It would be interesting to see what percentage of time is spent
searching for branch targets when a program is run...

Of course, every variable reference searches the variable table, too.

-michael

NadaNet networking for Apple II computers!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it's seriously underused."