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
424
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
424
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
424
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
424
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
424
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

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top