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)
Undefined variables are not suggested for other undefined variables. c5561c56dde18bbcf1d05bdec7b50804757c5ef8 lep 2015-02-08 15:39:10
Also changed gNone to gAny in else and elesif cases. 485e75aaa14eb8ae10058305f7b75c1abd19eb82 lep 2015-02-06 15:20:15
Changed statement default return type from gNone to gAny. 7a054ad7b62d77ae4a17ac97d913a19675dad111 lep 2015-02-06 15:12:31
Propagate returncheck through statements. b8977b07e11f8fd335851e3a2d69cb473492f85b lep 2015-02-06 15:07:36
Small changes. Removed some unused symbols. 83c8b2b0e6811380bddf6e92e3b2f843370d5e05 lep 2015-02-05 12:43:24
Only put locals into the initialized table. db20d22434506716774fa4e8577f98073f17d6c2 lep 2015-02-04 11:57:00
Changed min function to min makro. b5b6c824896935232743633ae57d060e5c6a046f lep 2015-02-04 11:33:14
Rewrote the hashtable. 55c0f9ae7d284df88c48e7c2ac1c547cda1d802a lep 2015-02-04 11:24:53
Fixed some memory violations. 26a99d799804d8154c4ee1aa0850cdaad909d1ae lep 2015-02-03 23:27:32
Reverted smth. dbd5c217795cf5cd014ed7370655e62591d4d0fe lep 2015-02-03 22:12:49
Changed sprintf to snprintf. 02d6efe2aed9186b2e6189b36a5fa50d2e0c2221 lep 2015-02-03 21:33:05
Wrapped typenode member accesses in getTypePtr. 372c1f9da68a65de9e14dff3881e1758d5e7114b lep 2015-02-03 21:05:11
Added ifdefs for memalign functionality. f005f5e8067994ebd76265e3289e6ab67283b96f lep 2015-02-03 20:06:20
Missing-return check in elseifs should work now. 4274d6166e2c92a4591c1e46a0d71f1579a57c7d lep 2015-02-03 19:35:39
Missing-return checks also checks elseifs. 889122b0fb788663c728127520d0e7124c2a040c lep 2015-02-03 15:18:12
Fixed some more warnings. a5ae36b5299ac419a91592b60b8fcb1dfd8f4374 lep 2015-02-03 13:24:56
Added early exit to editdistance function. 82e8d024392d357d56c833c6b7f7632ffd6830a8 lep 2015-02-02 16:13:40
Unidentified variables are now marked as initialized. f3ef715b90782bc22fbdd29e1c16d7c917f407a9 lep 2015-02-02 13:56:00
Fixed bug in editdistance. a786775b057fc5795db1b2b106b7b9e3c1df6c4c lep 2015-02-02 13:41:15
Added basic uninitialized variable check for locals. c8222a6f68e44a46624c1f9ee781f590522f45f6 lep 2015-02-02 12:41:25
Commit c5561c56dde18bbcf1d05bdec7b50804757c5ef8 - Undefined variables are not suggested for other undefined variables.
Author: lep
Author date (UTC): 2015-02-08 15:39
Committer name: lep
Committer date (UTC): 2015-02-08 15:39
Parent(s): 485e75aaa14eb8ae10058305f7b75c1abd19eb82
Signer:
Signing key:
Signing status: N
Tree: d2c721d51065388294b48e31af214b4a58f25418
File Lines added Lines deleted
misc.c 9 3
File misc.c changed (mode: 100644) (index 72af1e0..c28bbbe)
... ... void getsuggestions(const char *name, char *buff, int buffsize, int nTables, ...
186 186 int x; int x;
187 187 for(x = 0; x != ht->size; x++){ for(x = 0; x != ht->size; x++){
188 188 if(ht->bucket[x].name){ if(ht->bucket[x].name){
189 const struct typeandname *tan = ht->bucket[x].val;
190 if(typeeq(tan->ty, gAny)){
191 continue;
192 }
193
189 194 int dist = editdistance(ht->bucket[x].name, name, cutoff); int dist = editdistance(ht->bucket[x].name, name, cutoff);
190 195 if(dist <= cutoff){ if(dist <= cutoff){
191 196 count++; count++;
 
... ... const struct typeandname *getVariable(const char *varname)
240 245 getsuggestions(varname, ebuf, 1024, 3, &locals, &params, &globals); getsuggestions(varname, ebuf, 1024, 3, &locals, &params, &globals);
241 246 yyerrorline(2, islinebreak ? lineno - 1 : lineno, ebuf); yyerrorline(2, islinebreak ? lineno - 1 : lineno, ebuf);
242 247 // Store it as unidentified variable // Store it as unidentified variable
243 put(curtab, varname, newtypeandname(gAny, varname));
244 if(infunction && lookup(curtab, varname) && !lookup(&initialized, varname)){
248 const struct typeandname *newtan = newtypeandname(gAny, varname);
249 put(curtab, varname, newtan);
250 if(infunction && !lookup(&initialized, varname)){
245 251 put(&initialized, varname, (void*)1); put(&initialized, varname, (void*)1);
246 252 } }
247 return getVariable(varname);
253 return newtan;
248 254 } }
249 255
250 256 void validateGlobalAssignment(const char *varname) { void validateGlobalAssignment(const char *varname) {
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