Author Topic: Axe Interpreter  (Read 24153 times)

0 Members and 4 Guests are viewing this topic.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Axe Interpreter
« Reply #45 on: December 25, 2011, 11:56:19 pm »
As far as I know, it won't be able to use Axioms or Asm(), since there's no z80 emulation (and some Axioms and Asm() statements might rely on TI-OS, which isn't there either)
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe Interpreter
« Reply #46 on: December 25, 2011, 11:59:17 pm »
Ah right I forgot about Axioms. Hopefully it can run games like Axe Tunnel, though, or even some of the large projects (assuming all sub-programs are in the same folder)

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Axe Interpreter
« Reply #47 on: December 26, 2011, 12:02:07 am »
And I guess GetCalc() would directly access .8x* files in the same folder... that would be cool :D
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe Interpreter
« Reply #48 on: December 26, 2011, 12:05:15 am »
Indeed that's what I thought, and of course sub-programs/routines

Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: Axe Interpreter
« Reply #49 on: January 05, 2012, 12:13:08 am »
Progress report:

So, I essentially have to rewrite a chunk of my program.  Basically, the story is, I'm first converting text into a sort of tree -- lists containing lists containing lists.  Unfortunately, that format won't allow me to easily code in goto statements -- there are ways to hack out a solution, but they're all slow and brittle. 

So I'm rewriting my code to first create a tree then convert it into a single flattened list so I can easily jump to a line number.  Which is a pity, since I thought my whole recursive scheme for running the tree was cool (I like recursion). 

I'm also angsting over whether or not I should turn my tree into objects containing objects or just keep them as nested lists.

You know, gotos are generally seen as evil, but I never realized they were diabolical to implement too D:
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: Axe Interpreter
« Reply #50 on: January 05, 2012, 01:16:35 am »
For the name......how about Halberd?

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe Interpreter
« Reply #51 on: January 12, 2012, 02:00:45 am »
I'm glad this is still progressing. Hopefully you can finish this. :)

Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: Axe Interpreter
« Reply #52 on: January 18, 2012, 03:48:47 am »
I revamped how I handle memory and graphics.

Full pointer madness is working, along with graphics (including grayscale and sprites).  I still have to implement all the different sprite variations (which should be easy), and redo scrolling (Horizontal/Vertical +/-).

On the lexing/parser side, I've been procrastinating and still haven't rewritten it to compensate for those blasted gotos :P

Does anybody know where I can get the font used for the TI-84?  (both the small one and the homescreen one?)
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Axe Interpreter
« Reply #53 on: January 18, 2012, 09:30:50 pm »
Ti's website used to have a font available, you could check there. I'm unsure if it was accurate or just looked similar to what was on the calc. I'm pretty sure it was only one size as well.

Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: Axe Interpreter
« Reply #54 on: May 13, 2012, 01:50:41 am »
Necropost!

Here's a shiny new youtube video:

(it comes out a bit small, so try going to the actual video?)

...and the download link:
http://dl.dropbox.com/u/10645749/axe-interpreter_v0.3.zip

So, here are a list of changes since the last official version!
  • The parser and interpreter have been completely remade so it can handle goto statements
  • Grayscale
  • Almost anything related to memory has been finished

...and the things I need to work on:
  • Adding constants
  • Adding sprites
  • Working on speed

The list of all supported tokens can be found here:
static.michael0x2a.com/commands.html
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Axe Interpreter
« Reply #55 on: May 13, 2012, 12:51:00 pm »
so grey just displays in fixed colour until the next update?

this looks pretty snazzy indeed =)

EDIT: there wasn't a linux executable included, so i tried running the version in .src. it worked, but i kept getting unrecognised token errors, and it froze up at the end of the program
« Last Edit: May 13, 2012, 01:14:17 pm by shmibs »

Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: Axe Interpreter
« Reply #56 on: May 13, 2012, 01:14:22 pm »
so grey just displays in fixed colour until the next update?

Erm, could you clarify what you mean by 'fixed color'?

If you're referring to how grayscale usually has a flickering/diagonal effect in real calculators, I'm probably not going to in the near future because I'm not really sure how to code something like that. 
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Axe Interpreter
« Reply #57 on: May 13, 2012, 01:22:25 pm »
yes, that's what i was referring to. i don't think there will be any reason for you to change it. it would be a lot of work, and most programs would look better like this anyways.

Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: Axe Interpreter
« Reply #58 on: May 13, 2012, 01:42:57 pm »
Huh, that's a really weird tokenizing error.  I confirmed on my linux box: I'll go ahead and take a look at it (although it may take a week or so before I have time push the fix out).
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.