vrtc / pjass (public) (License: BSD) (since 2023-08-03) (hash sha1)
pjass is a free Jass scripting language parser. This repository is a fork of lep/pjass. The goal is to add Debian packaging. As of the time of this writing, it works for current stable, that is Debian 12 (bookworm).
List of commits:
Subject Hash Author Date (UTC)
Track blocks d2763ae8473a1c699aa2e5605922e4b500c83ed4 lep 2018-07-22 13:28:40
Cross compile and strip under FreeBSD 296bd56c1347afb7a20337e02574f9196b48317a lep 2018-07-22 11:55:29
Track opening/closing blocks. 49b23df64b209106cce92e417ee13ecebb0bc009 lep 2018-07-09 09:37:01
Replace strncat with str_append. ad968e040f315ed3cf6580e46587342897839529 lep 2018-03-21 13:53:11
Do not report arrays as uninitialized when the index is missing. 72e93bd234743a438fb0a5c105514bf732c22b89 lep 2017-12-20 14:59:10
Better error messages. ad8342582ac3617280f471d889b1766be272858b lep 2017-11-15 17:52:08
Handle wrong shadowing. 0500a60ef11f39c4f33044e26c29798f6d8445b5 lep 2017-02-19 14:37:21
Added checks for natives which behave bad in a globals block. 3e6ac270dda9ad695723d3bc2aac4d69a2fdf87a lep 2017-02-19 10:57:33
Update readme.md 2c9177dd5482ed8c4c1464a4ade37c301205fe6b lep 2017-02-01 17:42:49
Public git release. 2da78f3665ac4f53f5833c6a48ebbeaabea0cd49 lep 2017-02-01 16:42:21
Better ifdef-handling for aligned malloc. d95ebafa7204e49d84a9fed8cdeb01713dd0bc82 lep 2017-02-01 16:41:07
Makefile changes. 0458bb26764aad1caec71ccf721e84a28c699ee0 lep 2017-02-01 15:48:25
Can now compile on freebsd and linux from one branch. 0772c4bd17dcfc389ca0e887b4bbceda8e46fa8e lep 2017-01-07 21:05:10
More descriptive check for assignment. 474462b44fe20e958e8c6a3b51ba2da9c4a46451 lep 2016-11-24 16:47:15
Actually add all the sources to the release zipball 151ae88aac4c3ac8aae432a4a240239f652fa8f4 lep 2016-11-10 15:30:38
Don't treat ``.'' as a valid real value. 72e5087e22af66de0765c6d4f9ceae154725e2c2 lep 2016-10-24 14:55:02
Also split on \r in flag parser. 519d685ab24864716e3a1ecfd797790a327868ca lep 2016-08-28 12:41:08
Improved errors for function-calls. 5a50178a03c5aa3d153e8699070942327fde0b7b lep 2016-08-27 18:44:01
A very strange error with newlines and comments. d822cacbd889fe723102102c8a09d578d90f013e lep 2016-08-21 09:15:00
Added +nosyntaxerror and +nosemanticerror e755e12b3cab1d5069574e34d22633dd420bb230 lep 2016-05-07 13:42:57
Commit d2763ae8473a1c699aa2e5605922e4b500c83ed4 - Track blocks
Author: lep
Author date (UTC): 2018-07-22 13:28
Committer name: lep
Committer date (UTC): 2018-07-22 13:28
Parent(s): 35be1f8124f37194b2d1e4e6e5b0b5bf06746da8
Signer:
Signing key:
Signing status: N
Tree: 3fcc3c831442078cbfd5d2149d43eca7e74057e3
File Lines added Lines deleted
blocks.c 4 4
File blocks.c changed (mode: 100644) (index 960f22c..94b5e7c)
... ... void block_push(int lineno, enum block_type type){
36 36 bool block_pop(enum block_type type, char *buf, size_t len){ bool block_pop(enum block_type type, char *buf, size_t len){
37 37 if(size == 0){ if(size == 0){
38 38 // Standalone end* found // Standalone end* found
39 snprintf(buf, len, "[1] Standalone %s (no corresponding opening block)", names[type]);
39 snprintf(buf, len, "Standalone %s (no corresponding opening block)", names[type]);
40 40 return false; return false;
41 41 } }
42 42
43 43
44 44 if(blocks[size-1].type != type){ if(blocks[size-1].type != type){
45 45 // Missing end* for blocks[size-1].type // Missing end* for blocks[size-1].type
46 snprintf(buf, len, "[2] Missing end%s for block openend in line %d", names[blocks[size-1].type], blocks[size-1].lineno);
46 snprintf(buf, len, "Missing end%s for block openend in line %d", names[blocks[size-1].type], blocks[size-1].lineno);
47 47 return false; return false;
48 48 } }
49 49
 
... ... void block_missing_error(int x, char *msg, size_t len){
56 56 if(size == 0){ if(size == 0){
57 57 return; return;
58 58 } }
59 snprintf(msg, len, "[%d] [3] Missing end%s for block opened in line %d.", x, names[blocks[size-1].type], blocks[size-1].lineno);
59 snprintf(msg, len, "Missing end%s for block opened in line %d.", names[blocks[size-1].type], blocks[size-1].lineno);
60 60 size--; size--;
61 }
61 }
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/vrtc/pjass

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/vrtc/pjass

Clone this repository using git:
git clone git://git.rocketgit.com/user/vrtc/pjass

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main