(Hope it's the correct Forum, since no script/tool forum for sc2)
Hey guys,
I want to present a small project I'm working on, for all u guys who don't like working with the SC2 Script-Editor etc.
First I should present my plan:
It consists of 3 steps:
Step1: Programm a proper GalaxyParser (This is the step I'm currently working at)
Step2: Programm a properGalaxyXParser (GalaxyX is the custom language I'm working on, but priority is the GalaxyParser) http:userpage.fu-berlin.de/timoh1991/manual.html (Sorry, only the userpage provided by my university)
Step3: Releasing a all mighty Galaxy IDE (EditorX...the part where I assume to need help).
So since I'm at step 1, I can present to you the first version of the GalaxyParser (0.1.0)!
U need the current Java JRE to be able to run this programm.
use commandline: java -jar "path of parser" "path of galaxy file" "options"
current available options:
-o doesn't close commandprompt instantly
-i imports the includes (File-Directories are currently not supported)
-d debud mode
Nice Shurke, so when the GalaxyX is coming out will it be like vJass for Warcraft? Because I could really use structs with methods and such. I wish you good luck and I will test it out later, I'm going to bed soon so it is not going to be today sorry. :)
In some way one could say it's similar to vJass for Jass. The whole stuff will be similar to the imperative oop languages like Java/C# (no real oop, since Galaxy isn't).
It will support stuff like classes (ofc. includes scoping => private/public/static etc., structs (this part I dont know yet, maybe just like they are, or more like those in C#), namespaces (namespace in C#, or package in Java), interfaces etc. (I also consider tips from users :D )
I also had an idea for the UI part: there will be a small language within GalaxyX only used for dialog stuff (to shorten complex UI creation).
But first I need to complete the actuall GalaxyParser (galaxy language only), since I will need it.
I've noticed your project, but as you may have noticed mine is not a whole editor, it's single executable => others can build their own editor with it, if wanted ^^
v0.2.0
- full type checking added
- debug stuff is now shown with "DEBUG:" prefix
- Parser now works slightly different: before it was like: lexer -> Parser -> Type checking
Now it's more like a real compiler: Lexer -> Parser -> AST -> TreeParser -> Type Checking
- the contained native galaxy files are slightly different then the original (only so that the parser has less to do, I've written a
small programm which cleans the lib_ntv file and the AI file... to get rid of function bodies and marking them as natives
yeah true, for final versions I also will release the sourcecode!
for this if you want to fix something, you have to know the ANTLR grammar language and ofc. Java.
The parser stuff has to be fixed in the grammar (if there are any errors), since the generated source code (ANTLR) is about 20k lines of non documented
java code with cryptic variable names^^
v0.2.1
- fixed a bug with the TreeParser (Struct variable types, couldn't be obtained when struct was saved in an array)
- debug text polished for putting functions/variables into the HashMap
v0.3.0
- Added a new feature which informs the user about the total memory his script allocated (Used by Variables)
- If there is only 10% of memory left the parser will start throw a warning that the user is close to the limit
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
(Hope it's the correct Forum, since no script/tool forum for sc2)
Hey guys,
I want to present a small project I'm working on, for all u guys who don't like working with the SC2 Script-Editor etc.
First I should present my plan:
It consists of 3 steps:
So since I'm at step 1, I can present to you the first version of the GalaxyParser (0.1.0)!
What the parser actually does:
The whole thing is written in Java with the help of ANTLR (http://www.antlr.org/).
FAQ:
How do I use the parser?
-o doesn't close commandprompt instantly
-i imports the includes (File-Directories are currently not supported)
-d debud mode
How can I help?
Downloadlink: http://www.sc2mapster.com/assets/galaxyparser/files/
Nice Shurke, so when the GalaxyX is coming out will it be like vJass for Warcraft? Because I could really use structs with methods and such. I wish you good luck and I will test it out later, I'm going to bed soon so it is not going to be today sorry. :)
In some way one could say it's similar to vJass for Jass. The whole stuff will be similar to the imperative oop languages like Java/C# (no real oop, since Galaxy isn't). It will support stuff like classes (ofc. includes scoping => private/public/static etc., structs (this part I dont know yet, maybe just like they are, or more like those in C#), namespaces (namespace in C#, or package in Java), interfaces etc. (I also consider tips from users :D ) I also had an idea for the UI part: there will be a small language within GalaxyX only used for dialog stuff (to shorten complex UI creation).
But first I need to complete the actuall GalaxyParser (galaxy language only), since I will need it.
I have actually made something like this already, in case you haven't seen it..
http://forums.sc2mapster.com/resources/third-party-tools/14850-custom-galaxy-script-editor/
For a pure galaxy editor with error messages and auto completion, and
http://forums.sc2mapster.com/resources/third-party-tools/19619-galaxy-editor/#p1
for a new language which has features like passing structs and arrays in methods, and methods inside structs.
If you want to make your own, then by all means, go ahead.. It's a fun project. Just wanted to draw a bit of attention to my work.
updated to version 0.1.1
@SBeier: Go
I've noticed your project, but as you may have noticed mine is not a whole editor, it's single executable => others can build their own editor with it, if wanted ^^
updated to version 0.2.0
v0.2.0
- full type checking added
- debug stuff is now shown with "DEBUG:" prefix
- Parser now works slightly different: before it was like: lexer -> Parser -> Type checking
Now it's more like a real compiler: Lexer -> Parser -> AST -> TreeParser -> Type Checking
- the contained native galaxy files are slightly different then the original (only so that the parser has less to do, I've written a
small programm which cleans the lib_ntv file and the AI file... to get rid of function bodies and marking them as natives
I'm afraid anything like this, without the source code, is just about useless for any serious developer.
If you rely on something, you need to be able to fix it when it breaks and the maintainer is gone.
@MotiveMe: Go
yeah true, for final versions I also will release the sourcecode!
for this if you want to fix something, you have to know the ANTLR grammar language and ofc. Java.
The parser stuff has to be fixed in the grammar (if there are any errors), since the generated source code (ANTLR) is about 20k lines of non documented
java code with cryptic variable names^^
Edit: Btw. the actual Agenda for GalaxyX can be found here: http:userpage.fu-berlin.de/timoh1991/manual.html (Sorry, only the userpage provided by my university)
new version 0.2.1
v0.2.1
- fixed a bug with the TreeParser (Struct variable types, couldn't be obtained when struct was saved in an array)
- debug text polished for putting functions/variables into the HashMap
new version 0.3.0
v0.3.0
- Added a new feature which informs the user about the total memory his script allocated (Used by Variables)
- If there is only 10% of memory left the parser will start throw a warning that the user is close to the limit