JASS Tools
News
Download
Help
JASS Manual
-------------------------------------------------------------

JASS Tools are tools for parsing and analyzing the JASS scripting language, which used for scripting Maps and AI files in Blizzard Entertainment's Warcraft III.

Major releases and news will be posted to this page, but you can also keep up with the development at our SourceForge page.

------------------------------------------------------------

October 26, 2005
PJASS updated, it is the newest release I could find out there, the guys that improved this file were mainly AIAndy and also pitzermike.

What is PJASS? It is currently the best JASS syntax checker, and it works on command line.

just use pjass.exe to check the syntax

In fact its most common usage have to pass common.j and blizzard.j before a script file. It also works with common.ai , blizzard.ai and an ai file. PJASS download page

May 6, 2005
An update to the JASS documentation, new Type Casting Document, and some other additions to the API browser.

May 4, 2005
Jeff Pang has given me (Vexorian) control over the site, expect updates to the JASS manual and some additions to the web content soon.

Jul 2, 2003
Maintenance and minor bug fix release of Demo JASS Syntax Checker. Now uses data files from 1.10 (ROC or TFT). Download.

View changes.

Jun 14, 2003
Bug fix release of the Demo JASS Syntax Checker. Download.

The last update accidently used the data files from the TFT beta. This release fixes it to use the data files from ROC 1.06. The API Browser in the Manual was also fixed.

Jun 9, 2003
Rudi Cilibrasi has joined Jeff's team this week. He has contributed a new JASS parser called pjass. pjass is small, fast, and command-line driven. pjass is ideally suited for use in Cygwin .sh or MSDOS .BAT files as part of your map release validation system. A precompiled binary for Win32 is available. Download.

Jun 3, 2003
Maintenance release. Download.

The data files have been updated to correspond to ROC 1.06 (and subsequently, the latest TFT beta). The API Browser in the manual has also been updated.

Mar 19, 2003
New minor bug fix release. Download.

View changes here.

Mar 14, 2003
New minor bug fix release. Download.

This release just updates the library scripts to those used by Warcraft III 1.05. If you don't want to redownload the program, you can extract the shared scripts yourself from the patch MPQ file and place them in the Scripts/ directory.

Mar 7, 2003
New minor bug fix release. Download.

Changes can be viewed here.

Update: On the off chance you downloaded version 0.1.1 before 7:30PM PST (Mar 7), you will probably want to download it again. I accidently uploaded a version that reintroduced an old bug; it is now fixed.

Feb 9, 2003
Thanks to Bob Fitch from Blizzard, I was able to knock out a couple more minor bugs in the syntax checker. I've moved the versioning to major/minor numbers now to indicate alpha/beta status. Download.

There is still one known outstanding bug that I did not have time to fix: the syntax checker will allow you to have identical function names and variable names, but this should not be allowed. The bugs that were fixed can be viewed here.

For Developers:
I realize I said I would eventually put all this stuff in a DLL or other shared library so it could be used in other people's programs, but I don't believe I will have time in the near future to do so. Keep in mind that this project is open source, so the source code is available to anyone who wants to take a hack at it. The major stumbling block is that this was just a prototype so it was written in Java. If you're program is in Java also, great, then you can just link to it. :) Otherwise, you'll have to either rewrite the code in C/C++ (using Lex/Yacc or one of their variants instead of JLex/CUP), or compile Java into native code using something like GCJ or Excelsior JET. I have used Excelsior JET myself, and know that my code compiles just fine in it; you just have to spend some time with JNI to figure out how to make some external hooks to the code.

Jan 15, 2003
Minor new Pre-Alpha release is available. One error fixed and a text box was added to the GUI so you can enter code fragments directly to check. I found this was useful when making custom text triggers (just copy, paste, then check) since World Edit's syntax checker's error messages are terrible. Some other neglible features were also added to the GUI to make it "nicer". Download.

If you want notification of new releases, you can join the announcement mailing list.

Jan 10, 2003
New Pre-Alpha release is available. Some errors which weren't being caught before are now flagged; the GUI can now be used to check AI scripts, map trigger scripts, and custom common.ai/Blizzard.j files. Download.

Update 1/12/02: I forgot to compile in some dependencies in the windows version, so the program may have started up with an error that some DLL was missing. It should be fixed if you re-download the program.

Jan 8, 2003
Finished short manual for JASS (see side-bar). New layout too. :)

Dec 28, 2002
A complete pre-alpha demo is now available. The demo checker should catch all the bugs in AI scripts (barring bugs of course :). Download.

How to report bugs:

  • If the checker crashes or otherwise behaves badly, try to tell me how to reproduce it.
  • If the checker finds no errors in your script, but it does not work in Warcraft III, first make sure it is being loaded (e.g., put a known good script in its place and make sure that works), second try to narrow down where the problem is in your script (i.e., remove as much as you can from your script so that it still passes the checker but does not work in Warcraft III), or better yet, figure the problem the checker isn't catching yourself. :) Send me the narrowed down script or code fragment and an explanation of what you think the problem might be.
  • If the checker finds errors in your script but it works fine in Warcraft III, then send me the script (or a narrowed down version of it that still exibits the error). NOTE: there is a known error in Scripts/Blizzard.j which involves a function which returns a widget but is declared to return a destructable. I will probably eventually fix this, but right now it is a good warning; I think the only reason why it works is because Blizzard's syntax checker is too lax (i.e., their bug, not mine :).
If people want a command-line version, email me also. It will take 5 minutes to whip out, but I wasn't sure if anyone wanted it.

Dec 26, 2002
A pre-alpha demo is available here.

------------------------------------------------------------
Copyright (c) 2003 Jeff Pang
Not affiliated or endorsed by Blizzard Entertainment
SourceForge.net Logo