Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Munchor on July 28, 2011, 12:15:31 pm

Title: Croquette IDE
Post by: Munchor on July 28, 2011, 12:15:31 pm
Edit (by Michael, using CoT rights :P):
You can download the latest versions here: https://code.google.com/p/croquette/ (https://code.google.com/p/croquette/)
TIConvert has now been fully integrated into Croquette, and all discussion will go here.



Everybody knows you can know tokenize and detokenize axe source files in all operative systems (without having to use TokenIDE), you can use TIConvert (http://ourl.ca/9350), a program made by Michael Lee.

I decided to make a GUI Client for it, using wxPython. Basically, you open 8XP files, save 8XP Files, but type Axe Code.

Attached is the program, you have to unzip it first. Run "python Croquette.py" to run the program ;)
Title: Re: Croquette IDE
Post by: Michael_Lee on July 28, 2011, 01:24:15 pm
I made an exe, for Windows users :)
(I think it's suppose to work in Linux and Macs, too, but I can't confirm.)

Link (filesize was too large for Omni) (https://code.google.com/p/croquette/downloads/list)
Title: Re: Croquette IDE
Post by: LincolnB on July 28, 2011, 01:30:44 pm
So it's an IDE for developing Axe programs, but typing on the computer?
Title: Re: Croquette IDE
Post by: Munchor on July 28, 2011, 02:49:29 pm
So it's an IDE for developing Axe programs, but typing on the computer?

Indeed, here's a screenshot:

(http://img.removedfromgame.com/imgs/Croquette.png)

Note: The emulator is wxWabbitemu, not included in Croquette IDE, I'm just showing you I saved the file and opened it in wxWabbitemu and it is tokenized :)
Title: Re: Croquette IDE
Post by: DJ Omnimaga on July 28, 2011, 03:29:57 pm
Wow nice :D, I like the idea so far.
Title: Re: Croquette IDE
Post by: LincolnB on July 28, 2011, 03:45:51 pm
That looks sweet. Linux ftw!
Title: Re: Croquette IDE
Post by: Jim Bauwens on July 28, 2011, 03:58:01 pm
Looks really nice!

Good job :)
Title: Re: Croquette IDE
Post by: Munchor on July 28, 2011, 04:17:10 pm
That looks sweet. Linux ftw!

It's cross-platform, I mean, it works on several operative systems :) So expect it to work on Mac OS, Windows and Linux :)

The latest screenshot:

(http://img.removedfromgame.com/imgs/croquetteide2.png)
Title: Re: Croquette IDE
Post by: Michael_Lee on July 28, 2011, 04:39:14 pm
Wow, that was pretty fast.

It looks nice!

Consider highlighting some keywords like 'If', 'While', and ' Repeat'?
Title: Re: Croquette IDE
Post by: Munchor on July 28, 2011, 05:59:29 pm
Wow, that was pretty fast.

It looks nice!

Consider highlighting some keywords like 'If', 'While', and ' Repeat'?

Yeah Michael, I just started the highlighter, but I will add those eventually :)
Title: Re: Croquette IDE
Post by: XVicarious on July 28, 2011, 06:01:56 pm
Wow. Nice looking, plus its 100% cross platform.
Title: Re: Croquette IDE
Post by: Michael_Lee on July 29, 2011, 01:25:56 am
Wow, that was pretty fast.

It looks nice!

Consider highlighting some keywords like 'If', 'While', and ' Repeat'?

Yeah Michael, I just started the highlighter, but I will add those eventually :)

btw, I might make few minor changes to the GUI from time to time (feel free to do the same to my code)

Also, how far are we planning to take this?
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 04:50:06 am
I don't know Michael, I'd rather not make a plan and keep adding things as new ideas come out. I want this to be *the* computer Axe IDE. I know it's hard because it uses Python and wxPython, but that's my goal.
Title: Re: Croquette IDE
Post by: LincolnB on July 29, 2011, 01:23:35 pm
This is going to be great. You know, one of my main reasons for programming in Axe is so that I can program on-calc, easily, but it's still a great idea. No guarantees I'm going to use it, tho ;)
Title: Re: Croquette IDE
Post by: chattahippie on July 29, 2011, 01:50:37 pm
:o
This looks amazing!

Would it be possible perhaps to find '->' in the GUI and turn it into an arrow character, or at least highlight it in a color specific for special characters (greater than or equal to, store, etc.)?
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 01:54:23 pm
-> to → will be possible indeed, as → will be the official STO Symbol in Croquette, but -> will also be accepted.
Title: Re: Croquette IDE
Post by: chattahippie on July 29, 2011, 01:59:45 pm
Cool!
Although I don't use Axe all too much, this sounds great, and might make me start using it more (keyboards are so much better than the TI-84 buttons)

Can't wait to see it finished!
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 02:16:12 pm
Cool!
Although I don't use Axe all too much, this sounds great, and might make me start using it more (keyboards are so much better than the TI-84 buttons)

Can't wait to see it finished!

Thanks, we're working on that. I prefer computer IDEs for Axe because:
1. They save progress, no RAM Clears ;);
2. Faster to type;
3. I can check Quigibo's Documentation more easily;
4. Ask for help on IRC while writing more easily;
Title: Re: Croquette IDE
Post by: cooliojazz on July 29, 2011, 03:09:52 pm
Sigh, another project which does almost as much as mine, but gets 100x more attention... D: It looks pretty good so far though... :)
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 03:19:19 pm
Sigh, another project which does almost as much as mine, but gets 100x more attention... D: It looks pretty good so far though... :)

Your project has 5 pages, I think it got more attention ;) Also yours is distributed as a .exe file, so I see it is Windows-only, even though I thought it was written in Java. Either way, thanks for the compliment.
Title: Re: Croquette IDE
Post by: cooliojazz on July 29, 2011, 03:21:08 pm
No, you might be thinking of the old one, which sucked.  The new one probably has like 5 replies ;)  And it's a jar, nice-n multi platform, that was the point of it being java XD
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 03:50:13 pm
Quote from: Rules
Advertising your own project in other people's project thread is not allowed either.
Oh the new version, I think I was the one who tried it first :) It was good, don't worry.


I also set up a repository together with Michael Lee for Croquette, you can find it here (http://code.google.com/p/croquette/source/browse/#svn%2Ftrunk). So you can now get the latest versions ;)
Title: Re: Croquette IDE
Post by: chattahippie on July 29, 2011, 03:55:48 pm
Can't wait to try it!  Downloading it right now :D
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 04:52:40 pm
Can't wait to try it!  Downloading it right now :D

Cool, don't forget to post your experience here so that we can improve ;)
Title: Re: Croquette IDE
Post by: chattahippie on July 29, 2011, 05:21:11 pm
The version I downloaded had an exe, which I can't run :(

I thought I had a python interpreter installed, but the source files wouldn't run either :C
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 05:22:29 pm
What OS are you running?
Title: Re: Croquette IDE
Post by: chattahippie on July 29, 2011, 05:24:13 pm
What OS are you running?

OSX
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 05:29:05 pm
What OS are you running?

OSX

You need SubVersion and Python installed, on the terminal this should work:

Code: [Select]
svn checkout http://croquette.googlecode.com/svn/trunk/ croquette-read-only
cd croquette
python croquette.py

:)

If it gives any errors post the output here.
Title: Re: Croquette IDE
Post by: chattahippie on July 29, 2011, 05:31:40 pm
What OS are you running?

OSX

You need SubVersion and Python installed, on the terminal this should work:

Code: [Select]
svn checkout http://croquette.googlecode.com/svn/trunk/ croquette-read-only
cd croquette
python croquette.py

:)

If it gives any errors post the output here.

I'll try that
Title: Re: Croquette IDE
Post by: LincolnB on July 29, 2011, 05:32:26 pm
What OS are you running?

OSX

(http://rr-bb.com/images/smilies/Puke.gif)
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 05:35:59 pm
What OS are you running?

OSX

(http://rr-bb.com/images/smilies/Puke.gif)

This is not the topic to criticize OS choices.
Title: Re: Croquette IDE
Post by: chattahippie on July 29, 2011, 05:43:08 pm
It starts to execute it but breaks when it tries to import wx for some reason ???

Oh, and btw, your command didn't work.  I had to modify it a bit
Title: Re: Croquette IDE
Post by: Munchor on July 29, 2011, 05:44:36 pm
It starts to execute it but breaks when it tries to import wx for some reason ???

Because you do not have wxPython installed:

http://www.wxpython.org/download.php (http://www.wxpython.org/download.php)

There are Mac OS Binaries, install wxPython 2.8 ;)
Title: Re: Croquette IDE
Post by: alberthrocks on July 29, 2011, 08:07:50 pm
Linux AND Mac OS X can be bundled into a single executable (surprisingly)! :)
You just have to look a little closer and not be deceived by the names of projects. ;)

Meet PyInstaller (http://www.pyinstaller.org/). As such, the name can be quite deceiving. But this project isn't an installer - it's a python -> EXE converter! :D And by EXE I mean "system executable" - yup, this isn't limited to Windows. It is truly cross-platform - able to deploy Python programs to any user without lugging Python along! :D

As proof, here's a standalone executable in Linux. Extract, and make sure you make the program croquette executable! :)
Included is the PyInstaller v1.5 archive, as well as a convenient script to build a standalone binary. I built the Python source in r13.

http://dl.dropbox.com/u/1016340/croquette_linux_x86.zip
MD5SUM: 04b64b0e6db44310187285688d29e253
Size: 15 MB (Yes, it's big, but that's what happens when you build it into a standalone binary. PyInstaller says if you build the dependencies as static binaries, it can be compressed further.)

Unfortunately, you can't build to another platform - that is, building a Windows binary on Linux, a Mac OS X binary on Windows, etc. So you will need people with those OSes to build binaries for the project.
Title: Re: Croquette IDE
Post by: Munchor on July 30, 2011, 05:56:58 am
Woah, thanks a lot alberthrocks, just use his link to download Croquette IDE for Linux.

I will (from now on) release separate binaries for all OSs on major versions.
Title: Re: Croquette IDE
Post by: Michael_Lee on July 30, 2011, 03:44:08 pm
Linux AND Mac OS X can be bundled into a single executable (surprisingly)! :)
You just have to look a little closer and not be deceived by the names of projects. ;)

Meet PyInstaller (http://www.pyinstaller.org/). As such, the name can be quite deceiving. But this project isn't an installer - it's a python -> EXE converter! :D And by EXE I mean "system executable" - yup, this isn't limited to Windows. It is truly cross-platform - able to deploy Python programs to any user without lugging Python along! :D

As proof, here's a standalone executable in Linux. Extract, and make sure you make the program croquette executable! :)
Included is the PyInstaller v1.5 archive, as well as a convenient script to build a standalone binary. I built the Python source in r13.

http://dl.dropbox.com/u/1016340/croquette_linux_x86.zip
MD5SUM: 04b64b0e6db44310187285688d29e253
Size: 15 MB (Yes, it's big, but that's what happens when you build it into a standalone binary. PyInstaller says if you build the dependencies as static binaries, it can be compressed further.)

Unfortunately, you can't build to another platform - that is, building a Windows binary on Linux, a Mac OS X binary on Windows, etc. So you will need people with those OSes to build binaries for the project.

Ooh, I see, that explains things.

I used pyinstaller to build the exes, but I only own a Windows computer...

To clarify, exes made on Linux are also compatible with Macs?
Title: Re: Croquette IDE
Post by: LincolnB on July 30, 2011, 04:00:25 pm
What OS are you running?

OSX

(http://rr-bb.com/images/smilies/Puke.gif)

This is not the topic to criticize OS choices.

Hey dude, sorry if I offended anyone. I was just joking around.
Title: Re: Croquette IDE
Post by: chattahippie on July 30, 2011, 04:24:33 pm
What OS are you running?

OSX

(http://rr-bb.com/images/smilies/Puke.gif)

This is not the topic to criticize OS choices.

Hey dude, sorry if I offended anyone. I was just joking around.

Didn't offend me, I get it all the time :P
Title: Re: Croquette IDE
Post by: Munchor on July 31, 2011, 04:35:51 am
Quote
To clarify, exes made on Linux are also compatible with Macs?

I don't think so, but albert knows better.
Title: Re: Croquette IDE
Post by: AngelFish on July 31, 2011, 04:39:02 am
Quote
To clarify, exes made on Linux are also compatible with Macs?

Um, .exe's on Linux? Are you using WINE?


@ButtsFredkin, If nothing else, Macs have excellent GUIs. Apple literally wrote the book on GUI design. Anyway, off-topic...
Title: Re: Croquette IDE
Post by: Munchor on July 31, 2011, 06:38:29 am
Quote
To clarify, exes made on Linux are also compatible with Macs?

Um, .exe's on Linux? Are you using WINE?

He didn't .exe's Qwerty...
Title: Re: Croquette IDE
Post by: calcdude84se on July 31, 2011, 10:39:53 am
Woah, thanks a lot alberthrocks, just use his link to download Croquette IDE for Linux.

I will (from now on) release separate binaries for all OSs on major versions.
Could you still release the Python source alone for those of us who already have Python and all of the necessary libraries installed? :)
Title: Re: Croquette IDE
Post by: Munchor on July 31, 2011, 10:40:48 am
Woah, thanks a lot alberthrocks, just use his link to download Croquette IDE for Linux.

I will (from now on) release separate binaries for all OSs on major versions.
Could you still release the Python source alone for those of us who already have Python and all of the necessary libraries installed? :)

http://www.code.google.com/p/croquette/ (http://www.code.google.com/p/croquette/)
Title: Re: Croquette IDE
Post by: Ashbad on July 31, 2011, 10:47:40 am
What OS are you running?

OSX

(http://rr-bb.com/images/smilies/Puke.gif)

Nice smiley :) haha

And, guys, Its just a harmless smiley.  He didn't bash anything, troll anything, say anything wrong, or anything of the like.  All he did is make a little sarcastic joke; I'm sure he knows it would be bad netiquette to seriously bash another OS here.  Please don't make it into more than it is.
Title: Re: Croquette IDE
Post by: Munchor on July 31, 2011, 10:49:05 am
What OS are you running?

OSX

(http://rr-bb.com/images/smilies/Puke.gif)

Please don't make it into more than it is.

You're the one recalling the subject when unnecessary (you said it).
Title: Re: Croquette IDE
Post by: calcdude84se on July 31, 2011, 10:49:53 am
ephan: Ah, sorry, didn't notice that. I think I'll checkout the repository when I want to try it :)
Also, you could try to add an ignore for .pyc files, since you probably don't want them in the repo.
Ashbad: the problem is just that it can be construed quite easily as offensive, that's all. I do like the smiley, though. :P
ephan again: Let's not start fighting again, please?
Title: Re: Croquette IDE
Post by: Munchor on July 31, 2011, 10:50:50 am
ephan: Ah, sorry, didn't notice that. I think I'll checkout the repository when I want to try it :)
Also, you could try to add an ignore for .pyc files, since you probably don't want them in the repo.

Indeed, I do not want them, I tried to "svn delete" with no luck though :(
Title: Re: Croquette IDE
Post by: Michael_Lee on August 01, 2011, 03:21:10 pm
Version 1.0:
 > Syntax highlighting and line numbers
 > You can use Croquette IDE via GUI, or via the command-line
 > Minor bugfixes
 > TIConvert has been fully merged with Croquette IDE -- TIConvert is no more.

Get it here!:
https://code.google.com/p/croquette/downloads/list (https://code.google.com/p/croquette/downloads/list)

I have only a Windows, but hopefully, a version for Linux and maybe Macs will be up soon.  In the meantime, you could always run the source code itself :D

Obligatory pic:
(wabbitemu isn't included, it's just to demonstrate.)

(http://img.removedfromgame.com/imgs/2011-08-01-Screenshot_Windows.PNG)
Title: Re: Croquette IDE
Post by: Munchor on August 01, 2011, 04:25:52 pm
Thanks for making the post and merging the two projects Michael ;)
Title: Re: Croquette IDE
Post by: Munchor on August 04, 2011, 03:47:54 pm
Some progress today:


The "Run File" option uses "wxwabbitemu" as default, but will soon be customizable, so that the user can also use "wabbitemu" for example :)

I'll also be adding custom fonts soon.
Title: Re: Croquette IDE
Post by: alberthrocks on August 07, 2011, 10:58:04 am
Awesome stuff! :D For some reason, I've never figured out how to make my text control as fancy as that... :P
I would still like a CLI only version, even if it's just importing the decoding library and calling it.

I will be including ticonverter.py into the AGL builder (and doing some other significant things) soon...

Some suggestions:
 == Add option to detokenize into Axe OR Basic tokens. And as a plus, a menu option to instantly switch tokens to and from Axe! :D
 == Solving the "token vs. letter" problem by catching keyboard and mouse input to avoid positioning the cursor in the middle of a token, and maybe coloring it as well? (optional, but pretty cool, and you guys will be the only one who has done it successfully... if you can, that is.) This will require a different file format specific to Croquette, like 8xpxml to distinguish letters from tokens.
 == Intellisense :P Sounds insane, but my theory of Intellisense is that it's just a non-focused wxFrame, with a wxListBox inside it. If you guys manage to do it, you will gain quite a bit of notoriety from the wxWidgets community. :P (Again, this is optional, but something to aim for if you can do it! ;)) Also include a help box - something like VC++/VB, where they show a yellow box as you type telling you how to use the command.

If you guys need any help, let me know! :)
Title: Re: Croquette IDE
Post by: Munchor on August 07, 2011, 11:05:14 am
Awesome stuff! :D For some reason, I've never figured out how to make my text control as fancy as that... :P

That's the secret, it's not a text control. I'll look at your suggestions and see what I can do :)
Title: Re: Croquette IDE
Post by: Michael_Lee on August 07, 2011, 12:30:41 pm
Awesome stuff! :D For some reason, I've never figured out how to make my text control as fancy as that... :P
ephan is using an awesomesauce special text editor thingie specially designed for code. :)

Quote
I would still like a CLI only version, even if it's just importing the decoding library and calling it.
That should be easy.  For now, just run 'console.py' (get the version from the repository, not the downloads, which has a few bugs).

Quote
== Add option to detokenize into Axe OR Basic tokens. And as a plus, a menu option to instantly switch tokens to and from Axe! :D
That should be pretty easy.
Actually, even though Croquette is supposed to only work with Axe, it'll still convert TI-Basic tokens anyways.  I don't encourage it (due to code-readability reasons), but you can mix and match Axe and Basic tokens freely, and still have it convert.

We'll look into adding a menu option for fully switching.

Quote
== Solving the "token vs. letter" problem by catching keyboard and mouse input to avoid positioning the cursor in the middle of a token, and maybe coloring it as well? (optional, but pretty cool, and you guys will be the only one who has done it successfully... if you can, that is.) This will require a different file format specific to Croquette, like 8xpxml to distinguish letters from tokens.
Hmm.  This one might be a bit trickier.

Quote
== Intellisense :P Sounds insane, but my theory of Intellisense is that it's just a non-focused wxFrame, with a wxListBox inside it. If you guys manage to do it, you will gain quite a bit of notoriety from the wxWidgets community. :P (Again, this is optional, but something to aim for if you can do it! ;)) Also include a help box - something like VC++/VB, where they show a yellow box as you type telling you how to use the command.
@ephan: doesn't wx.stc come with a bunch of autocompletion methods?
Title: Re: Croquette IDE
Post by: alberthrocks on August 07, 2011, 12:58:43 pm
ephan is using an awesomesauce special text editor thingie specially designed for code. :)
Ahh yes, just did some research on magical text boxes and found out that wxWidgets has a code text box - a Scintilla wrapper, which it seems you are using! :)

That should be easy.  For now, just run 'console.py' (get the version from the repository, not the downloads, which has a few bugs).
Got it. If you intend to make it in one file (as in croquette.py becomes both a GUI and CLI program), make sure you don't import wx! (If you do, trap the error with a try/catch statement.)

That should be pretty easy.
Actually, even though Croquette is supposed to only work with Axe, it'll still convert TI-Basic tokens anyways.  I don't encourage it (due to code-readability reasons), but you can mix and match Axe and Basic tokens freely, and still have it convert.

We'll look into adding a menu option for fully switching.
Oh, cool! :) Yeah, the core code is pretty sophisticated - I know there's support, just no GUI option for it yet. ;)

Quote
== Solving the "token vs. letter" problem by catching keyboard and mouse input to avoid positioning the cursor in the middle of a token, and maybe coloring it as well? (optional, but pretty cool, and you guys will be the only one who has done it successfully... if you can, that is.) This will require a different file format specific to Croquette, like 8xpxml to distinguish letters from tokens.
Hmm.  This one might be a bit trickier.
I can supply some code... unfortunately C++ (but the APIs for the wxPython are VERY much alike), but it should give you an idea. I haven't been tapping into Python's OOP part, but you should be able to derive classes (called subclasses?), and add input event hooks.

You should be able to derive from wxStyledTextCtrl... but if you need to dive into the deeper class, ScintillaWX, you're going to have to play a bit with fire (and possibly C++):

http://wiki.wxwidgets.org/WxStyledTextCtrl#Deriving_from_ScintillaWX

Here's the code I wrote for MertheseConsole - the code of interest is in ConsoleTextCtrl.cpp.
http://dl.dropbox.com/u/1016340/MertheseConsole.zip

@ephan: doesn't wx.stc come with a bunch of autocompletion methods?
Yes indeed! O_O This wxStyledTextCtrl is very, very fancy....
http://www.wxpython.org/docs/api/wx.stc.StyledTextCtrl-class.html
(look for AutoComp)
Title: Re: Croquette IDE
Post by: Munchor on August 07, 2011, 04:33:08 pm
Alberthrocks, I am sorry but we're not using C++ for any part of the GUI, this is a pure Python project.

Also, alberthrocks, Iam still working on syntax highlighting and autocompletion, I know how to make it, I've made it before, but I need to implement it in Croquette.

Quote
Oh, cool!  Yeah, the core code is pretty sophisticated - I know there's support, just no GUI option for it yet.

yeah the core already has it, and I can add it easily on the GUI, but I have yet to discuss with Michael if we will do that or not.
Title: Re: Croquette IDE
Post by: Michael_Lee on August 12, 2011, 05:36:37 pm
Progress report:

Autocompletion is now working!  Hooray!
Converting Axe to TI-Basic tokens (and vice versa) is now supported too.

I feel slightly uncomfortable with the code I wrote though (I feel like I re-invented too many wheels), so we might swap it out with what ephan used in his other project.
Title: Re: Croquette IDE
Post by: Munchor on August 15, 2011, 05:17:59 am
Progress report:

Autocompletion is now working!  Hooray!
Converting Axe to TI-Basic tokens (and vice versa) is now supported too.

I feel slightly uncomfortable with the code I wrote though (I feel like I re-invented too many wheels), so we might swap it out with what ephan used in his other project.

It's really working well indeed, but there's another thing to do now concerning it.

Every word that the user writes gets added to the list (a temporary list, it's over when the file is closed). Why? Because a lot of times we need to write the same thing more than once. In Axe, it's not so usual, because we don't have long variable names, but it's still useful sometimes with strings and commnts.
Title: Re: Croquette IDE
Post by: alberthrocks on August 20, 2011, 04:34:27 pm
Alberthrocks, I am sorry but we're not using C++ for any part of the GUI, this is a pure Python project.
Oh no no no, I'm not asking you guys to write it in C++! :P (That would be quite a pain!)

I just offer my C++ code so that you guys can possibly take some ideas and convert it to Python.
Python *can* derive from classes, as shown here:
Code: [Select]
class RedButton(wx.Button):
    def __init__(self, *a, **k):
        wx.Button.__init__(self, *a, **k)
        self.SetBackgroundColour('RED')
        # more customization here

Of course, you guys are free to decide whether to use it or not.
Title: Re: Croquette IDE
Post by: Michael_Lee on August 20, 2011, 05:14:14 pm
Every word that the user writes gets added to the list (a temporary list, it's over when the file is closed). Why? Because a lot of times we need to write the same thing more than once. In Axe, it's not so usual, because we don't have long variable names, but it's still useful sometimes with strings and commnts.

Hmm, maybe it might be better to focus on recalling names of constants or labels/subroutines?  I don't think it'll be worth caching things in strings or comments, given that those are relatively unique.

That way, I don't have to work as hard remembering the names of functions, appvars, or constants, which are usually just cryptic combinations of 5 letters (I think 5 is the new limit in Axe?)
Title: Re: Croquette IDE
Post by: Hayleia on October 26, 2011, 10:32:53 am
Bump ;D
Okay, I have a stupid bug.
This text, in the spoiler, in a .txt file, doesn't want to be converted.
I tried to copy/paste it into Croquette and save it; it freezes. D:
I tried to drag/drop it into TI Convert 0.5.1; it shows a blinking cursor on the command prompt. :(
When I delete all from ".      DIVERS", it works (but the file is obviously not complete -.-°)
What to do ?
Spoiler For Spoiler:
.NOMS
.                  POKEMONS
"Bulbizarre"[00]->GDB2
"Herbizarre"[00]
"Florizarre"[00]
"Salameche"[00]
"Reptincel"[00]
"Dracaufeu"[00]
"Carapuce"[00]
"Carabaffe"[00]
"Tortank"[00]
"Chenipan"[00]
"Chrysacier"[00]
"Papilusion"[00]
"Roucool"[00]
"Roucoups"[00]
"Roucarnage"[00]
"Pikachu"[00]
"Raichu"[00]
"NidoranF"[00]
"Nidoqueen"[00]
"NidoranM"[00]
"Nidoking"[00]
"Nosferapti"[00]
"Nosferalto"[00]
"Mystherbe"[00]
"Rafflesia"[00]
"Taupiqueur"[00]
"Triopikeur"[00]
"Miaouss"[00]
"Persian"[00]
"Abra"[00]
"Kadabra"[00]
"Machoc"[00]
"Machopeur"[00]
"Mackogneur"[00]
"Racaillou"[00]
"Gravalanch"[00]
"Fantominus"[00]
"Spectrum"[00]
"Ectoplasma"[00]
"Magicarpe"[00]
"Leviator"[00]
"Rattata"[00]
"Rattatac"[00]
"Onix"[00]

.                     ATTAQUES
"Charge"[00]->GDB3
"Griffe"[00]
"Morsure"[00]
"Metronome"[00]
"Tranche"[00]
"Ultralaser"[00]
"Ecume"[00]
"Pistolet a O"[00]
"Coud Krane"[00]
"Hydrocanon"[00]
"Flammeche"[00]
"Frenesie"[00]
"Lance Flamme"[00]
"Danseflamme"[00]
"Eclair"[00]
"Vive Attaque"[00]
"Souplesse"[00]
"Tonnerre"[00]
"Fatal Foudre"[00]
"Poing Karate"[00]
"Balayage"[00]
"Frappe Atlas"[00]
"Fouet Lianes"[00]
"Tranch Herbe"[00]
"Lance Soleil"[00]
"Choc Mental"[00]
"Ecras Face"[00]
"Rafale Psy"[00]
"Meteores"[00]
"Psyko"[00]
"Tornade"[00]
"Picpic"[00]
"Cru Aile"[00]
"Vol"[00]
"Lechouille"[00]
"Tenebres"[00]
"Devoreve"[00]
"Jet Pierres"[00]
"Tunnel"[00]
"Seisme"[00]
.                       TYPES
"Normal"[00]->GDB4
"Eau"[00]
"Feu"[00]
"Elektrik"[00]
"Combat"[00]
"Plante"[00]
"Psychique"[00]
"Vol"[00]
"Spectre"[00]
"Roche Sol"[00]
.                       BOSS
"Pierre"[00]->GDB5
"Major Bob"[00]
"Erika"[00]
"Giovanni"[00]
"Olga"[00]
"Aldo"[00]
"Agatha"[00]
"Peter"[00]
.                       PANNEAUX
"Jadielle"[00]->GDB1P
"Argenta"[00]
"Carmin sur Mer"[00]
"Celadopole"[00]

.                  DIVERS
"La progression sera sauvee"[00]->Str11
"Continuer ?"[00]->Str12
"Equipe"[00]->Str13
"Boite"[00]->Str14
"niv"[00]->Str15
"Pkmn"[00]->Str16
"Relacher"[00]->Str17
"Etes vous sur ?"[00]->Str18
"Achat Vente"[00]->Str19
"Potions"[00]->Str20
"Elixir"[00]->Str21
"Pokeballs"[00]->Str22
"sous:                    "[00]->Str23
"Vos Pokemons sont gueris."[00]->Str24
"A bientot !"[00]->Str25
"Pokedex"[00]->Str26
"Pokemon"[00]->Str27
"0bjet"[00]->Str28
"Joueur"[00]->Str29
"Sauver"[00]->Str30
"0ption"[00]->Str31
"Retour"[00]->Str32
"Sauvegarde..."[00]->Str33

"Un "[00]->Str34
"Quelqu'un"[00]->Str35
"veut se battre !"[00]->Str36
"A l' attaque !"[00]->Str37
" "[00]->Str38
"C' est tres efficace !"[00]->Str39
"Ce n' est pas tres efficace..."[00]->Str40
"gagne "[00]->Str41
"points EXP"[00]->Str42
"a monte d' un niveau !"[00]->Str43
" veut"[00]->Str44
"apprendre "[00]->Str45
"Quel emplacement ?"[00]->Str46
"Etes-vous sur ?"[00]->Str47
"L'adversaire va envoyer"[00]->Str48
"L' adversaire utilise"[00]->Str49
"Metronome"[00]->Str50
"1:Attaquer"[00]->Str51
"2:Pokemons"[00]->Str52
"3:Inventaire"[00]->Str53
"4:Fuite"[00]->Str54
"Charge"[00]->Str55
"--"[00]->Str56
"Vous utilisez"[00]->Str57
"Vous prenez la fuite !"[00]->Str58
"Fuite impossible !"[00]->Str59
"L' adversaire est battu."[00]->Str60
"Vous empochez 500 sous."[00]->Str61
"Vous gagnez un badge !"[00]->Str62
"Inventaire"[00]->Str63
"Utiliser"[00]->Str64
"1:Potion"[00]->Str65
"2:Elixir"[00]->Str66
"3:Pokeballs"[00]->Str67
"("[00]->Str68
")    "[00]->Str69
"Impossible"[00]->Str70
"Les boites sont pleines."[00]->Str71
"Capture ! Le Pokemon est"[00]->Str72
" stocke dans la boite."[00]->Str73
"Flute ! Manque !"[00]->Str74
"Vous avez perdu le combat."[00]->Str75
"Vous donnez 400 sous."[00]->Str76
"            "[00]->Str77
"Hein ? "[00]->Str78
"evolue !?!"[00]->Str79
"Alpha pour empecher"[00]->Str80
"n'evolue plus !?!"[00]->Str81
"Nom"[00]->Str82
Title: Re: Croquette IDE
Post by: JustCause on October 26, 2011, 01:40:39 pm
Wow, holy crap how did I miss this. This is amazing. Keep up the awesome work!
Title: Re: Croquette IDE
Post by: Munchor on October 26, 2011, 03:30:43 pm
Wow, holy crap how did I miss this. This is amazing. Keep up the awesome work!

Thanks. I haven't been working on this lately, but I'll resume work as soon as I can. Michael, as far as I know, keeps working, though ;)
Title: Re: Croquette IDE
Post by: XVicarious on October 26, 2011, 10:42:13 pm
Last commit was Sept 16th :(
Title: Re: Croquette IDE
Post by: Hayleia on October 27, 2011, 02:37:59 am
That doesn't answer my question :P
Yay ! Quoting myself

Bump ;D
Okay, I have a stupid bug.
This text, in the spoiler, in a .txt file, doesn't want to be converted.
I tried to copy/paste it into Croquette and save it; it freezes. D:
I tried to drag/drop it into TI Convert 0.5.1; it shows a blinking cursor on the command prompt. :(
When I delete all from ".      DIVERS", it works (but the file is obviously not complete -.-°)
What to do ?
Spoiler For Spoiler:
.NOMS
.                  POKEMONS
"Bulbizarre"[00]->GDB2
"Herbizarre"[00]
"Florizarre"[00]
"Salameche"[00]
"Reptincel"[00]
"Dracaufeu"[00]
"Carapuce"[00]
"Carabaffe"[00]
"Tortank"[00]
"Chenipan"[00]
"Chrysacier"[00]
"Papilusion"[00]
"Roucool"[00]
"Roucoups"[00]
"Roucarnage"[00]
"Pikachu"[00]
"Raichu"[00]
"NidoranF"[00]
"Nidoqueen"[00]
"NidoranM"[00]
"Nidoking"[00]
"Nosferapti"[00]
"Nosferalto"[00]
"Mystherbe"[00]
"Rafflesia"[00]
"Taupiqueur"[00]
"Triopikeur"[00]
"Miaouss"[00]
"Persian"[00]
"Abra"[00]
"Kadabra"[00]
"Machoc"[00]
"Machopeur"[00]
"Mackogneur"[00]
"Racaillou"[00]
"Gravalanch"[00]
"Fantominus"[00]
"Spectrum"[00]
"Ectoplasma"[00]
"Magicarpe"[00]
"Leviator"[00]
"Rattata"[00]
"Rattatac"[00]
"Onix"[00]

.                     ATTAQUES
"Charge"[00]->GDB3
"Griffe"[00]
"Morsure"[00]
"Metronome"[00]
"Tranche"[00]
"Ultralaser"[00]
"Ecume"[00]
"Pistolet a O"[00]
"Coud Krane"[00]
"Hydrocanon"[00]
"Flammeche"[00]
"Frenesie"[00]
"Lance Flamme"[00]
"Danseflamme"[00]
"Eclair"[00]
"Vive Attaque"[00]
"Souplesse"[00]
"Tonnerre"[00]
"Fatal Foudre"[00]
"Poing Karate"[00]
"Balayage"[00]
"Frappe Atlas"[00]
"Fouet Lianes"[00]
"Tranch Herbe"[00]
"Lance Soleil"[00]
"Choc Mental"[00]
"Ecras Face"[00]
"Rafale Psy"[00]
"Meteores"[00]
"Psyko"[00]
"Tornade"[00]
"Picpic"[00]
"Cru Aile"[00]
"Vol"[00]
"Lechouille"[00]
"Tenebres"[00]
"Devoreve"[00]
"Jet Pierres"[00]
"Tunnel"[00]
"Seisme"[00]
.                       TYPES
"Normal"[00]->GDB4
"Eau"[00]
"Feu"[00]
"Elektrik"[00]
"Combat"[00]
"Plante"[00]
"Psychique"[00]
"Vol"[00]
"Spectre"[00]
"Roche Sol"[00]
.                       BOSS
"Pierre"[00]->GDB5
"Major Bob"[00]
"Erika"[00]
"Giovanni"[00]
"Olga"[00]
"Aldo"[00]
"Agatha"[00]
"Peter"[00]
.                       PANNEAUX
"Jadielle"[00]->GDB1P
"Argenta"[00]
"Carmin sur Mer"[00]
"Celadopole"[00]

.                  DIVERS
"La progression sera sauvee"[00]->Str11
"Continuer ?"[00]->Str12
"Equipe"[00]->Str13
"Boite"[00]->Str14
"niv"[00]->Str15
"Pkmn"[00]->Str16
"Relacher"[00]->Str17
"Etes vous sur ?"[00]->Str18
"Achat Vente"[00]->Str19
"Potions"[00]->Str20
"Elixir"[00]->Str21
"Pokeballs"[00]->Str22
"sous:                    "[00]->Str23
"Vos Pokemons sont gueris."[00]->Str24
"A bientot !"[00]->Str25
"Pokedex"[00]->Str26
"Pokemon"[00]->Str27
"0bjet"[00]->Str28
"Joueur"[00]->Str29
"Sauver"[00]->Str30
"0ption"[00]->Str31
"Retour"[00]->Str32
"Sauvegarde..."[00]->Str33

"Un "[00]->Str34
"Quelqu'un"[00]->Str35
"veut se battre !"[00]->Str36
"A l' attaque !"[00]->Str37
" "[00]->Str38
"C' est tres efficace !"[00]->Str39
"Ce n' est pas tres efficace..."[00]->Str40
"gagne "[00]->Str41
"points EXP"[00]->Str42
"a monte d' un niveau !"[00]->Str43
" veut"[00]->Str44
"apprendre "[00]->Str45
"Quel emplacement ?"[00]->Str46
"Etes-vous sur ?"[00]->Str47
"L'adversaire va envoyer"[00]->Str48
"L' adversaire utilise"[00]->Str49
"Metronome"[00]->Str50
"1:Attaquer"[00]->Str51
"2:Pokemons"[00]->Str52
"3:Inventaire"[00]->Str53
"4:Fuite"[00]->Str54
"Charge"[00]->Str55
"--"[00]->Str56
"Vous utilisez"[00]->Str57
"Vous prenez la fuite !"[00]->Str58
"Fuite impossible !"[00]->Str59
"L' adversaire est battu."[00]->Str60
"Vous empochez 500 sous."[00]->Str61
"Vous gagnez un badge !"[00]->Str62
"Inventaire"[00]->Str63
"Utiliser"[00]->Str64
"1:Potion"[00]->Str65
"2:Elixir"[00]->Str66
"3:Pokeballs"[00]->Str67
"("[00]->Str68
")    "[00]->Str69
"Impossible"[00]->Str70
"Les boites sont pleines."[00]->Str71
"Capture ! Le Pokemon est"[00]->Str72
" stocke dans la boite."[00]->Str73
"Flute ! Manque !"[00]->Str74
"Vous avez perdu le combat."[00]->Str75
"Vous donnez 400 sous."[00]->Str76
"            "[00]->Str77
"Hein ? "[00]->Str78
"evolue !?!"[00]->Str79
"Alpha pour empecher"[00]->Str80
"n'evolue plus !?!"[00]->Str81
"Nom"[00]->Str82
Title: Re: Croquette IDE
Post by: Munchor on October 27, 2011, 03:04:21 am
Hayleya, can you give us steps to do the bug? Like:

1. Do this
2. Do this
3. Do this

What I expected:

What really happens:

Thanks!
Title: Re: Croquette IDE
Post by: Hayleia on October 27, 2011, 08:01:48 am
Ok:
Copy the text in the spoiler into a .txt file.
Then, try to compile it into a .8xp file:
-You can drag and drop it into TIConvert 0.5.1
Expected: it displays a command prompt during 2 secs then closes it and a 8xp file appears.
What happens: the command prompt appears and blinks, and never closes.
-Else, you can double click Croquette, copy paste the text into it and save it.
Expected: the 8xp file appears.
What happens: it freezes when you accept saving, after entering the name of the file you want to create.
Title: Re: Croquette IDE
Post by: Michael_Lee on October 27, 2011, 09:54:12 am
So what's is that the parser has found a character or sequence of characters that it couldn't find in it's dictionary and froze up.

I won't be able to work on this until the weekend.  Could you try deleting lines from the end until you get it to work then post which lines work and which ones you had to remove?
Title: Re: Croquette IDE
Post by: Hayleia on October 27, 2011, 10:18:21 am
Could you try deleting lines from the end until you get it to work then post which lines work and which ones you had to remove?
OK, I'll try, but I don't have a lot of time either :(, so my answer may come a long time after.
Title: Re: Croquette IDE
Post by: Hayleia on October 27, 2011, 12:13:26 pm
Sorry for double posting, but I felt like it was important (if you think that no, tell me and I'll use the edit button).
I found the origin of the bug :w00t:
It comes from the ".       DIVERS" line.
Before the "DIVERS", and after the ".", I used several tabulations.
When I replace them with spaces, it compiles.
If I used several tabulations at the beginning of a line, it is works, but not between two characters it seems.
Title: Re: Croquette IDE
Post by: aeTIos on October 27, 2011, 03:04:32 pm
Thats a bug, it should just ignore them imo.
Title: Re: Croquette IDE
Post by: C0deH4cker on October 27, 2011, 04:08:45 pm
or just treat them as spaces.
Title: Re: Croquette IDE
Post by: Michael_Lee on October 27, 2011, 07:31:16 pm
Yup, that's a bug.

I fixed it so that it will now the parser will ignore any characters it doesn't recognize instead of just hanging there.

I don't really have time to do make an exe until the weekend though (and do some other minor fixes) so if you need an update, just download a fresh copy from the repository.
Title: Re: Croquette IDE
Post by: epic7 on November 12, 2011, 11:16:33 pm
I'm glad I found this
Title: Re: Croquette IDE
Post by: alberthrocks on November 16, 2011, 02:58:10 pm
Yup, that's a bug.

I fixed it so that it will now the parser will ignore any characters it doesn't recognize instead of just hanging there.

I don't really have time to do make an exe until the weekend though (and do some other minor fixes) so if you need an update, just download a fresh copy from the repository.
Necro, but... :P
I can provide builds for Linux and Windows if you want.
Also, can I submit patches to fix some of those issues on your bug tracker? :)
Title: Re: Croquette IDE
Post by: Michael_Lee on November 16, 2011, 10:45:25 pm
Yup, that's a bug.

I fixed it so that it will now the parser will ignore any characters it doesn't recognize instead of just hanging there.

I don't really have time to do make an exe until the weekend though (and do some other minor fixes) so if you need an update, just download a fresh copy from the repository.
Necro, but... :P
I can provide builds for Linux and Windows if you want.
Also, can I submit patches to fix some of those issues on your bug tracker? :)
Sure, that would be great!

Let's see -- do I need to add you as a contributer or something so that you can submit patches?  (not sure exactly how Google Code works) If so, post or PM me your email address/google account.
Title: Re: Croquette IDE
Post by: epic7 on November 17, 2011, 05:36:40 pm
ITS SCREWIN' UP!

Edit: After like 5 attempts, it now works

Edit: NO IT DOESNT D:

/me slaps the creator

I think the new prgm is appearing somewhere on the memory list tho. But not in the prgms
Title: Re: Croquette IDE
Post by: Michael_Lee on November 17, 2011, 06:58:41 pm
ITS SCREWIN' UP!

Edit: After like 5 attempts, it now works

Edit: NO IT DOESNT D:

/me slaps the creator

I think the new prgm is appearing somewhere on the memory list tho. But not in the prgms

Please describe what you want to do, what you tried, what happened, and what you expected.

"ITS SCREWIN' UP!' is a bit on the vague side :)

Also, what do you mean by this?
I think the new prgm is appearing somewhere on the memory list tho. But not in the prgms
Title: Re: Croquette IDE
Post by: epic7 on November 17, 2011, 07:00:15 pm
Lol, ok. It's not in the programs when I transfer it to the calc, but I think I found the file somewhere within the memory menu.
Title: Re: Croquette IDE
Post by: Michael_Lee on November 17, 2011, 07:02:39 pm
Lol, ok. It's not in the programs when I transfer it to the calc, but I think I found the file somewhere within the memory menu.

Wait a moment, are you trying to transfer Croquette IDE to you calculator?
Title: Re: Croquette IDE
Post by: epic7 on November 17, 2011, 07:31:20 pm
No :P
That happened when I try to transfer the program edited in croquette
Title: Re: Croquette IDE
Post by: Michael_Lee on November 17, 2011, 08:05:52 pm
Okay.  Tell me exactly what you typed into croquette and exactly what you did to save the file.
Title: Re: Croquette IDE
Post by: epic7 on November 17, 2011, 08:07:05 pm
What exactly I typed? Its over 500 lines so... :P
To save I pushed file->save->.8xp then overwrote my old program.

Edit: I didnt know it went to the calc as a group file. Now it's fine. I just ungrouped it
Title: Re: Croquette IDE
Post by: Michael_Lee on November 17, 2011, 08:15:31 pm
...um, I'm not really sure what to say then.  You're not really giving me enough info to help you with.

Are you sure it isn't a problem with TIConnect?  Have you tried transfering other files? 
Have you tried transferring your program to Wabbitemu?  If so, what did it do? 
Are you sure it's actually overwriting the old program?  Try saving it under a different name and transferring?
Title: Re: Croquette IDE
Post by: epic7 on November 17, 2011, 08:16:50 pm
It worked. When I put the program on my calc I didn't realize that it was a group file. I just ungrouped it. Even though there was only one file...

But it still worked
Title: Re: Croquette IDE
Post by: ben_g on December 15, 2011, 03:43:52 pm
A line like 1.0->{L2+4}^^r doesn't tokenize correctely, becouse it sees it as a comment.

And when I want to save it as a .txt file, it saves it as .txt.8xp, and if you send that to your calc, you have a program named "PROG.TXT".
Title: Re: Croquette IDE
Post by: Aes_Sedia5 on December 15, 2011, 05:55:54 pm
I have had some troubles with Croquette in the past, though I dont remember what all was wrong. I know a few things did not tokenize right. and Archive was Ar{chi}ve on calc. I love the croaquette features like auto indenting, and syntax coloring. I would make that my primary if it werent so buggy.
Title: Re: Croquette IDE
Post by: ben_g on December 19, 2011, 04:06:37 pm
Croquette stops responding when I tokenize this code:
Code: [Select]
.EXMPL3D

.VARS
.POSITION
.{L1}, 6BYTES
.DIRECTION
.{L1+6}, 1BYTE

0->{L1}^^r->{L1+2}^^r->{L1+4}^^r
0->{L1+6}

ClrDraw

Repeat getKey(15)

.INIT CAMERA
{L1}^^r->{L2}^^r
{L1+2}^^r->{L2+2}^^r
{L1+4}^^r->{L2+4}^^r
{L1}^^r+cos({L1+6})->{L2+6}^^r
{L1+2}^^r+sin({L1+6})->{L2+8}^^r
1.0->{L2+10}^^r->{L2+16}^^r
0->{L2+12}^^r->{L2+14}^^r
INT()

.RENDER
ClrDraw
CVT(~1.0,5.0,0)
X->V
Y->W
CVT(1.0,5.0,0)
Line(V,W,X,Y)
DispGraph

.MOVE
If getKey(4)
 cos({L1+6})**0.2+{L1}^^r->{L1}^^r
 sin({L1+6})**0.2+{L1+2}^^r->{L1+2}^^r
End
If getKey(1)
 cos({L1+6})**~0.2+{L1}^^r->{L1}^^r
 sin({L1+6})**~0.2+{L1+2}^^r->{L1+2}^^r
End
If getKey(2)
 {L1+6}++
End
If getKey(3)
 {L1+6}--
End

End
Return

.ENGINE VARS:
.FROM VEC
.{L2}, 6BYTES
.TO VEC
.{L2+6}, 6BYTES
.UP VEC
.{L2+12}, 6BYTES
.TEMP VARS
.{L2+18}, 6BYTES
.CROSS VEC
.{L2+24}, 6BYTES

Lbl INT
{L2+6}^^r-{L2}^^r->{L2+6}^^r
{L2+8}^^r-{L2+2}^^r->{L2+8}^^r
{L2+10}^^r-{L2+4}^^r->{L2+10}^^r
sqrt(({L2+6}^^r)²+({L2+8}^^r)²+({L2+10}^^r)²)^^r->{L2+18}^^r
{L2+6}^^r**({L2+18}^^r)^^-1->{L2+6}^^r
{L2+8}^^r**({L2+18}^^r)^^-1->{L2+8}^^r
{L2+10}^^r**({L2+18}^^r)^^-1->{L2+10}^^r
{L2+12}^^r**{L2+6}^^r->{L2+18}^^r
{L2+14}^^r**{L2+8}^^r->{L2+20}^^r
{L2+16}^^r**{L2+10}^^r+{L2+18}^^r+{L2+20}^^r->{L2+18}^^r
{L2+12}^^r-({L2+18}^^r**{L2+6}^^r)->{L2+12}^^r
{L2+14}^^r-({L2+18}^^r**{L2+8}^^r)->{L2+14}^^r
{L2+16}^^r-({L2+18}^^r**{L2+10}^^r)->{L2+16}^^r
sqrt(({L2+12}^^r)²+({L2+14}^^r)²+({L2+16}^^r)²)^^r->{L2+18}^^r
{L2+12}^^r**({L2+18}^^r)^^-1->{L2+12}^^r
{L2+14}^^r**({L2+18}^^r)^^-1->{L2+14}^^r
{L2+16}^^r**({L2+18}^^r)^^-1->{L2+16}^^r
{L2+14}^^r**{L2+10}^^r-({L2+16}^^r**{L2+8}^^r)->{L2+24}^^r
{L2+16}^^r**{L2+6}^^r-({L2+12}^^r**{L2+10}^^r)->{L2+26}^^r
{L2+12}^^r**{L2+8}^^r-({L2+14}^^r**{L2+6}^^r)->{L2+28)^^r
Return

Lbl CVT
r1-{L2}^^r->r1
r2-{L2+2}^^r->r2
r3-{L2+4}^^r->r3
r1**{L2+6}^^r+(r2**{L2+8}^^r)+(r3**{L2+10}^^r)->{L2+18}^^r
{L2+18}^^r<<0->{L2+20}
(r1**{L2+24}^^r+(r2**{L2+26}^^r)+(r3**{L2+28}^^r))**({L2+18}^^r)^^-1->X
(r1**{{L2+12}^^r+(r2**{L2+14}^^r)+(r3**{L2+16}^^r))**({L2+18}^^r)^^-1->Y
Return