Tool AdicHelper - A cJass parser

Van Damm

New Member
Reaction score
7
I am proud to present AdicHelper — a cJass to vJass/Jass parser.

What is cJass?
cJass is an addition to Blizzard's JASS2 language, which is fully compatible with the popular vJass syntax. The goal of our team is to grant coders more possibilities to create high-quality and simple code. Core principles of cJass are:
  1. Macro facilities and standard library.
    They spare routine actions, letting you concentrate on implementing your ideas.
  2. Simplified syntax.
    We don't want to start over the argument about the verbosity of syntax, we just let you choose the way you like. Almost all cJass constructs can be written in JASS2-like notation.
  3. Map optimization.
    We keep all cJass additions away from complicating the resulting map's code, so using them won't hurt your map's performance. We are also working on embedded map optimizer.
You can read everything about the syntax in our online manual.


How can I use it?
NewGen WE is required to work comfortably with cJass syntax. You simply download the installer, run it and point to your NewGen folder. All required changes will be made automatically.

AdicHelper comes with an updater app, which will check for new versions and download them if needed.

There are two branches of program: stable, which is tested and generally error-free, but is updated not very often and development, which contains new features as they are created, but can also have errors.


Bugs and ideas
You suddenly encounter any bugs or have interesting ideas about implementing new features or extending standard library? Your reports and suggestions can be posted to this thread or our feedback section.

Files:
AdicHelper 1.4.1.5 — setup file. Contains stable version of the parser itself, updater, manual, standard library, some examples of usage and full source code. The installer includes Project Horus 0.4.6 a full rewrite of Scintilla lexer library, which is responsible for JASS code highlighting in TESH. Also highlights delimited comments. Also includes slightly modified TESH to highlight cJass keywords.​
 

GetTriggerUnit-

DogEntrepreneur
Reaction score
129
You first need a knowledge of vJass and then you can use the online manual to convert your vJass into cJass.
 

Sevion

The DIY Ninja
Reaction score
413
Ahh... too sexual. But just so you know, the autoupdater in earlier versions wouldn't let me autoupdate to 14.0.1. I fixed it by downloading the newest, I'm guessing it's because of Horus.

Erta, there's a manual in first post.
 

ertaboy356b

Old School Gamer
Reaction score
86
Thanks for the manual ^^

I have experience with vjass, php, javascripts, etc..

EDIT:

Can I use this side by side with vjass?? I don't want to recode my earlier codes..
 

Sevion

The DIY Ninja
Reaction score
413
Yes, you can. :p But you want to disable AdicParser. It seems to not like some vJASS things. I find cJASS works fine without it. Until they fix it that is >_<
 

ertaboy356b

Old School Gamer
Reaction score
86
How about a vjass to cjass converter?? I need to convert those systems to start writing cjass..
 

Sevion

The DIY Ninja
Reaction score
413
None yet :(

You can use define blocks to define lots of repeated usages though and convert it manually. It actually doesn't take as long as you'd think :D
 

Sevion

The DIY Ninja
Reaction score
413
Just do:

JASS:
private scope S initializer ini {
    MAH STUFF!!!
}


Replace the endscope with } and open it with {.
 

Frozenhelfir

set Gwypaas = Guhveepaws
Reaction score
56
Just do:

JASS:
private scope S initializer ini {
    MAH STUFF!!!
}


Replace the endscope with } and open it with {.

Do you need the private word in front? Does it change anything? Or is this a scope inside a scope? :eek:
 

Van Damm

New Member
Reaction score
7
All main syntax questions can be answered by reading the manual.

But just so you know, the autoupdater in earlier versions wouldn't let me autoupdate to 14.0.1. I fixed it by downloading the newest, I'm guessing it's because of Horus.
Yes, it is. You should install the new version manually as it's written on our site. Maybe I should write it here too?

Yes, you can. :p But you want to disable AdicParser. It seems to not like some vJASS things. I find cJASS works fine without it. Until they fix it that is >_<
cJass should be compatible with any vJass code. If you run in any incompatibilities, please send me a PM or write to our feedback section.

How about a vjass to cjass converter?? I need to convert those systems to start writing cjass..
Interesting idea, I'll think about that
 

Sevion

The DIY Ninja
Reaction score
413
Do you need the private word in front? Does it change anything? Or is this a scope inside a scope? :eek:

The private keyword is optional :p

Sec, VD, I'm on my laptop, I'll move downstairs and upload the error I get when I enable AdicParser on my map and save.
 

Steel

Software Engineer
Reaction score
109
The only issue I have with this and will continue to have with cJass is that it is not coupled with the NewGen pack. This means that those individuals that do not have cJass will not be able to use any code that you write, this also will mean slower development of cJass by those who are actually willing to use it.

I like cJass, I think it is helpful, I'm familiar with the syntax. I just don't see myself writing anything for public use with it.
 

Nestharus

o-o
Reaction score
84
This is out of ADOLF's and the entire cJASS team's control. Take it up with MindWorX at wc3c.net =P.

Personally, I too think that cJASS should be included in the newgen pack as well =).

So yea, don't blame the cJASS team with those and don't prod on on this thread that it should be included. If you are advocating for an inclusion, again, MindWorX at wc3c o-o.
 

Frozenhelfir

set Gwypaas = Guhveepaws
Reaction score
56
The cJass manual doesn't say anything about "library A uses/requires/needs PUI". It looks like it works in cJass, but it should be mentioned.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top