Grammer Release / Interview
Posted by Ryan on 8 September 2011, 21:35 GMT
Many weeks ago, our own Zeda "ThunderBolt" Elnara released a new programming language for
the TI-83/84+ series named Grammer. While it is hoped that you did not miss this
release, a delay in news was required for the purpose of contacting Zeda for further information. Instead of the usual manner of reporting, an interview was arranged
so that the software author could tell you about the release firsthand! Jump to the comments page in order to get the full interview.
How do you go about developing a new language for this platform?
With Grammer, I pretty much tried to smoosh together BASIC and Assembly. I
wanted a language that had a familiar syntax, yet included features found in
assembly games. I also added in anything that I thought might be useful that
I could code.
How long did it take?
Since I had already had experience working on BASIC ReCode (for BatLib), it
was actually quick work to get Grammer to a functional state. It took maybe
a day or two to get the brunt of the code finished with game examples. Over
the next few months I added in better sprite features, drawing algorithms,
and some more advanced math.
What were some of the difficulties?
This is the first project that I have added in a sprite command that drew to
pixel coordinates and I had a fun time coming up with fast algorithms for
some of the math and other drawing.
What advantages/disadvantages are there to Grammar compared to other
languages (such as using the Axe Parser, etc)?
Grammer is actually pretty close in speed to assembly or Axe, yet it is
interpreted. This means that the code size is relatively small for complex
tasks, yet programs don't have a size limit. On the other hand, the code has
to be interpreted and converted on the fly which slows it down a little.
Also, Grammer does not create external data and does not have any way to get
user input (except through key presses). Some other miscellaneous
advantages, though, are:
- Labels can be any size
- Math is limited, but still very fast
- The code has many optimisations that save memory and speed
What do you plan to add in the future?
- Creation of external data such as strings, pictures, and lists.
- I hope to add a way to "compile" the code to a format that is much faster
to interpret.
- More graphical commands such as screen shifting
- More math features
- Possibly a linking feature (but this isn't likely for a long while, if
ever)
What are some of the known bugs for the 1.05.07.11 release?
I know there is something up with End statements, but it is nothing serious.
I believe it is an issue with including a For( loop inside a Repeat loop,
but it will be likely fixed in the next version. I have yet to find a way
to crash the calc with Grammer (aside from using some undocumented
features).
Thanks for the interview, Zeda, and keep up the good work!