Author Topic: Axe Parser Comments and Questions  (Read 8022 times)

0 Members and 1 Guest are viewing this topic.

Offline alberthrocks

  • Moderator
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 876
  • Rating: +103/-10
    • View Profile
Axe Parser Comments and Questions
« on: May 15, 2010, 09:43:34 pm »
This would be the topic on Axe Parser. ;)

Anyway:

1) Brief comments:
This is an amazing application. I never thought that someone could make an efficient, usable, basic to ASM compiler.
Although this really isn't basic, it still allows many features of basic to be used, and more. Of course, I still haven't been able
to compile a useful program, so I have yet to enjoy Axe Parser to its fullest... :P (Not mentioning other programs that has been
released on this forum, in which I do enjoy and am amazed by!)

2) Questions:
-a) Is it possible to create a mini MP3 player with AXE? Now, I'm not saying actual MP3, which require quite a bit of decoding, in which isn't available on the TI-8x series (as in too slow). I'm just saying music files in general that are non-MIDI. I have a great idea in using AXE to play back music, but wanted to make sure it's feasible and that it would work.
-b) Is it possible for Axe to be able to use standard basic syntax, and just compile with that? I'm not saying that I won't bother to edit the program myself, but with the current state of Axe, it's really hard to understand what has gone wrong, and what commands aren't available. There is a potential feature request about this (see, I have been reading the forums! ;) ), but I think it would be a good idea to implement. Possibly a switch to compile in a specific mode may help.

3) More comments...
I really enjoy Axe... when it compiles nicely. However, I was wondering if Axe coding can
be done on a computer, with a syntax checker for Axe.

I could design the program editor if needed, but I would definitely need to know the logic
and how Axe parses the program.

If it was done on a computer, anyone can code faster for Axe, since they would know
which line has the error, and a possible explanation of the error.

And finally, could you (Axe Parser dev Quigibo) open source the application? :) I would like to take a peek at
how it works, and such. I do some ASM coding myself, but hate it, and still stick to
BASIC for regular programming. It would be great if I have an example to refer to.
No pressure though - if you don't want to release the source code, you don't have to.

That's all! :D
Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/


Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! :( Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern. :)

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.


Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it :P)
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it :P)
wxWabbitemu: 40% done (NEED MOAR FEATURES :P)

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming :P)

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Axe Parser Comments and Questions
« Reply #1 on: May 15, 2010, 10:21:56 pm »
Well I'm just changing this because it seemed Quigibo did a better explanation. If you want to delete this post, DJ or someone, you can.
« Last Edit: May 15, 2010, 10:44:05 pm by meishe91 »
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Parser Comments and Questions
« Reply #2 on: May 15, 2010, 10:26:31 pm »
Hey cool, I'm glad you enjoy it :)

To answer some of your questions.  An MP3 player might be possible right now, but I think I will eventually add another sound command that reads raw data and plays something kind of like you're describing.  I don't know how you would convert the sound into hex though, nor the compression ratio.  It would suck to have to carry around 5000 extra bytes to play a 10 second clip.

Standard BASIC syntax would not be compatible with axe.  What that feature would do is allow you to integrate regular BASIC calls into the program for some commands.  It would be just as slow as regular BASIC when you do this, but it would make things like the Input command very handy.  I haven't tried real-time token parsing yet so I don't know if its possible to do what I'm thinking, but based on my reading I think it can be done.

The reason I differ the syntax and programming style slightly from regular BASIC is becasue I set it up in a way that allows for executables that are smaller, faster, and more optimized that its predecessor.  If I had used floating points for instance, it would have significantly increased program sizes and have huge slowdowns.

Scrolling to errors is something I'm for sure going to add later similar to how BASIC programs scroll to errors.  The thing is I have to learn about parsing hooks, something I know nothing about, so I'm going to have to find a lot of information about and hopefully talk to some experts.

The source code for the compiler might be open once I completely finish it, however, the source code for the assembly routines is open right now so they can be improved and optimized by the public and people learning assembly can use these routines as templates like Axe does.  I would love to make a computer compiler for axe since not only would it be able to generate the executables, it can translate directly into assembly language so it can be further optimized by hand.  Its a really huge project though.  It would honestly take about the same amount of time to write a computer compiler as has the original.

Hope I answered everything, feel free to ask if you have any more questions.  I wish you luck on your programming endeavors!
« Last Edit: May 15, 2010, 10:29:47 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

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 Parser Comments and Questions
« Reply #3 on: May 15, 2010, 10:30:17 pm »
Hi and welcome here!

Axe has sound command actually. It does sounds like a Commodore 64, or a NES with only one sound channel. It's kinda basic altough I am sure it could be useful.

Currently there are no computer Axe Parsers, but you can edit your code in TI-Graph Link or SourceCoder. I don't think writing a computer Axe compiler would be a good idea until Axe is finished, though, because it would slow down updates a lot.
« Last Edit: May 15, 2010, 10:42:15 pm by DJ Omnimaga »

_player1537

  • Guest
Re: Axe Parser Comments and Questions
« Reply #4 on: May 15, 2010, 10:36:45 pm »
Hi, welcome to omnimaga.

I was able to have chords (two notes playing at once) and 3 note chords playing and it sounded OK, you could try that.  Although it only really sounds good if you are in 15 mhz mode, in 6 mhz the sounds aren't quite right it seems.  But idk.  As for the computer program:  that sounds great, I would love that feature, especially if it works on linux :P

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Axe Parser Comments and Questions
« Reply #5 on: May 15, 2010, 10:49:24 pm »
Hi and welcome here!

Axe has sound command actually. It does sounds like a Commodore 64, or a NES with only one sound channel. It's kinda basic altough I am sure it could be useful.

Currently there are no computer Axe Parsers, but you can edit your code in TI-Graph Link or SourceCoder. I don't think writing a computer Axe compiler would be a good idea until Axe is finished, though, because it would slow down updates a lot.

TI-Coder v1.0 is another computer BASIC editor. It does have some little glitches (such as if you type DelVar after another it will start turning the ones after the first into text; some other things like not displaying some characters (all extended calculator characters though, I believe)). Still nice though.
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline alberthrocks

  • Moderator
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 876
  • Rating: +103/-10
    • View Profile
Re: Axe Parser Comments and Questions
« Reply #6 on: May 16, 2010, 08:26:10 pm »
@Quigibo: That's what I was thinking - the SinReg command *might* be able to do it, but it depends. 5000 bytes isn't that bad. I'm aiming for just 1 min of music/sound (for now). As for the program, see my responses below.

@DJ Omnimaga: Yup, I know that already from the docs. ;) As for that program, I'm not trying to rewrite the compiler (although that would be great, but only after Quigibo finishes his work and stabilizes features and API). Basically, I'm only interested in writing the parser, NOT a compiler. Basically, think of it as a word processor. I'm only interested in writing the spell/grammar check, not any AI that can read the essay I write and check for errors. ;) I already have a BASIC editor that I wrote (actually, I found it online, and since it was GPLed, I took it and modified it for myself. All I have to do is just dig it out, and from there add more to it).

@_player1537: Sounds interesting. Did you use alternate between 2 tones really fast? Or is it something else? And as for Linux support... don't worry! I'm a Linux guy as well (Ubuntu 9.10, will upgrade to 10.04 soon or later). The tool referenced in the above reply to DJ is Python based (I think it came from a big TI wiki, but not sure), and I'll base the tool from that. To be specific, wxWidgets (wxPython) will be used for the program as well to support it cross-platform. :D

@meishe91: Already have one (see reply to DJ), but thanks for pointing out another! :)
Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/


Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! :( Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern. :)

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.


Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it :P)
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it :P)
wxWabbitemu: 40% done (NEED MOAR FEATURES :P)

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming :P)

_player1537

  • Guest
Re: Axe Parser Comments and Questions
« Reply #7 on: May 16, 2010, 08:32:54 pm »

@_player1537: Sounds interesting. Did you use alternate between 2 tones really fast? Or is it something else? And as for Linux support... don't worry! I'm a Linux guy as well (Ubuntu 9.10, will upgrade to 10.04 soon or later). The tool referenced in the above reply to DJ is Python based (I think it came from a big TI wiki, but not sure), and I'll base the tool from that. To be specific, wxWidgets (wxPython) will be used for the program as well to support it cross-platform. :D

Where could we find this program you're talking about?  The one you referenced in DJ's reply.  and yes, I switched between the notes quickly, one after the other.  Ubuntu 10.04 is great!  I'm getting it for my friend tomarrow.  by 'Big TI wiki'  do you mean tibasic developer?

Offline alberthrocks

  • Moderator
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 876
  • Rating: +103/-10
    • View Profile
Re: Axe Parser Comments and Questions
« Reply #8 on: May 16, 2010, 09:23:41 pm »
@_player1537: Ahh, that's the site! :)
From that site, I found that program again:
http://tibasicdev.wikidot.com/forum/t-184793/python-ti83-basic-converter

I see a LOT of potential for this Python script... but nothing much yet!
Later (if I have time), I will get started on the basic editor, assuming that there is demand for it. ;)

As for Ubuntu, does 10.04 work flawlessly? I always delay upgrading since there are potential bugs that may have been missed.
Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/


Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! :( Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern. :)

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.


Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it :P)
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it :P)
wxWabbitemu: 40% done (NEED MOAR FEATURES :P)

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming :P)

_player1537

  • Guest
Re: Axe Parser Comments and Questions
« Reply #9 on: May 16, 2010, 10:08:22 pm »
For me (I downloaded iirc the day it came out) I haven't run into any bugs.  everything seems to run a lot smoother than mint 8.  I would like the parser for the computer for axe.   And thank you for the program :)