What is GalaxyX?
Basicly it is a scripting language which gets translated into galaxy script, allowing scripters to do stuff more easily (At least that's what I intend to).
GalaxyX can be descriped as a pseudo object oriented language (since it is just a big wrapper around the core which in the end is galaxy) in the same
imparative style like Galaxy/Java/C#.
Is GalaxyX easy to learn?
This depends on allready known skills. If you are familiar with Java/C# it is easier for you to learn, then only knowing galaxy.
How will I be able to use GalaxyX?
There will be a compiler with a UI (and without), so you directly can implement the compiled script into the map. Also I plan to release the EditorX, which
actually is the tool to work with GalaxyX more easily :) , but not necessary.
How is the progress doing?
I actually finished the syntax part of the compiler, as far as I can evaluate it, since there may be some syntactical stuff added.
The actual step is to program the TreeParser.
Is there any way I can get an overview?
Beside the programming, I'm also working on a manual, so users who are interessted can learn and inform thereself about GalaxyX.
You can find the manual on the following page: http://userpage.fu-berlin.de/timoh1991/manual.html (It's not finished yet)
Do you need help?
There actually is a part where I could need help. Writing the core scripts, like wrappers for native types, language functionality. And of course new stuff
which has to be done, like Collections, Math etc.). If you are interessted in helping, ask me if you can join. There are of course a few requirements: You have to know what you are doing, your coding has to be clean and well documented (with EditorX I also will provide an external documentation, which is loaded with the library).
Is there a lifetime support?
Of course there isn't, but I will release the sourcecode, so everyone who wants to continue the project, or just want to fix something, or maybe to learn something ( :D) can do so.
That's it for now. If you have tips/wishes or just questions regarding GalaxyX, post them or contact me via mail ([email protected]).
It's quite a while since I last posted something about GalaxyX.
Time for working on it is rare...learning, doing stuff for univ. is more important.
But if you want to know what I'm working on check this:
Information
Small Example, how I wan't to start standard libraries:
/************************************************************************** * GalaxyX System Library * * Author: xDSchurke (Timo Hanisch) * E-Mail: [email protected] * * About: * This library contains classes/methods/values which belong to the * System-Namespace. * * Contents: * - Debug * - Game * - All Wrapper-Classes (e.g. Unit/Unitgroup/Trigger etc.) * **************************************************************************/namespaceSystem{globals{//Within global-blocks final variables can be declared (auto. final)//Better var names then standard blizzard vars?? wtf global constants lower case??//All blizzard constants get new names -> (within compiler they get exchanged again//GalaxyX values which only can be read -> constantintDEFAULT_CLASS_MAX_INSTANCES=256;intDEFAULT_STRING_MAX_INSTANCES=8192;//Type valuesintDEFAULT_INT_VALUE=0;fixedDEFAULT_FIXED_VALUE=0.0;charDEFAULT_CHAR_VALUE='';StringDEFAULT_STRING_VALUE="";}publicclassDebug[-1]{//-1 Size declarators just mean they are uninstanceable!}publicclassGame[-1]{}publicclassString[DEFAULT_STRING_MAX_INSTANCES]{native{stringwrapper_str="";}publicString(){}}}
Also I will need help for the standard librarie, mostly including wrapper-classes but also should include other usefull stuff.
If you have wishes, tips, questions => Please Help!
Otherwise the project may take a lot of time to complete the first release.
I will impliment assert statements into the language, allowing better debuging!
Example:
...publicvoidsetLives(intn){assertn>0;//Do something}...->voidpub_setLives_int(intpointer,intn)[if(!(n>0)){System_debug_pub_print("Assertion-Error: Line x");}//Do something}
The compiler will replace the x with the line of the assert statement!
Within initalizer blocks you have to initialize your main stuff! This block gets called by Starcraft.
Those blocks have to be initialized within namespaces! If you add something new to a namespace you
may override the current initializer! (Not possible for System namespace).
Example:namespaceTestSpace{initializer{CustomUI.init();Main.init();//You also could create the Triggers here:Triggertrig=newTrigger();trig.setCondition(Main.cond.String);trig.setAction(Main.action.String);}}//in another file, new stuff?namespaceTestSpace{overrideinitializer{//New stuff}}
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Hey mapster,
Here I want to make some advertising for my current project which is called GalaxyX. I first anounced it within another project (http://forums.sc2mapster.com/resources/third-party-tools/19814-galaxy-parser/#p10) which was my first step to get into the whole thing.
What is GalaxyX?
Basicly it is a scripting language which gets translated into galaxy script, allowing scripters to do stuff more easily (At least that's what I intend to).
GalaxyX can be descriped as a pseudo object oriented language (since it is just a big wrapper around the core which in the end is galaxy) in the same
imparative style like Galaxy/Java/C#.
Is GalaxyX easy to learn?
This depends on allready known skills. If you are familiar with Java/C# it is easier for you to learn, then only knowing galaxy.
How will I be able to use GalaxyX?
There will be a compiler with a UI (and without), so you directly can implement the compiled script into the map. Also I plan to release the EditorX, which
actually is the tool to work with GalaxyX more easily :) , but not necessary.
How is the progress doing?
I actually finished the syntax part of the compiler, as far as I can evaluate it, since there may be some syntactical stuff added.
The actual step is to program the TreeParser.
Is there any way I can get an overview?
Beside the programming, I'm also working on a manual, so users who are interessted can learn and inform thereself about GalaxyX.
You can find the manual on the following page: http://userpage.fu-berlin.de/timoh1991/manual.html (It's not finished yet)
Do you need help?
There actually is a part where I could need help. Writing the core scripts, like wrappers for native types, language functionality. And of course new stuff
which has to be done, like Collections, Math etc.). If you are interessted in helping, ask me if you can join. There are of course a few requirements: You have to know what you are doing, your coding has to be clean and well documented (with EditorX I also will provide an external documentation, which is loaded with the library).
Is there a lifetime support?
Of course there isn't, but I will release the sourcecode, so everyone who wants to continue the project, or just want to fix something, or maybe to learn something ( :D) can do so.
That's it for now. If you have tips/wishes or just questions regarding GalaxyX, post them or contact me via mail ([email protected]).
It's quite a while since I last posted something about GalaxyX. Time for working on it is rare...learning, doing stuff for univ. is more important.
But if you want to know what I'm working on check this: Information
Small Example, how I wan't to start standard libraries:
Also I will need help for the standard librarie, mostly including wrapper-classes but also should include other usefull stuff.
If you have wishes, tips, questions => Please Help! Otherwise the project may take a lot of time to complete the first release.
I will impliment assert statements into the language, allowing better debuging! Example:
The compiler will replace the x with the line of the assert statement!
Initializer-Block:
Within initalizer blocks you have to initialize your main stuff! This block gets called by Starcraft. Those blocks have to be initialized within namespaces! If you add something new to a namespace you may override the current initializer! (Not possible for System namespace).