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)
Added \r, \n (\x10, \x13) as invalid escape characters. 85d0c7e4453c1879bcbc4db8be28527c5ce9f4f7 lep 2016-01-06 13:16:49
Fixed another rare crash. b6edcc3cfd5c1c837318b0efa5ded6f16e86b403 lep 2015-12-21 19:02:41
Fixed various warnings. 6027429ad1895baef4796ac4ae43952ed51f6174 lep 2015-10-28 09:27:40
Added prof target to makefile 9c4b383d3f7416a30a8bde79c735097edaf8d84a lep 2015-10-27 19:14:20
Added gprof support. 374f624967a563dd4c356a3fc104f8ced49fd692 lep 2015-10-27 18:10:13
Changed //! +rb to //# +rb 63af0d3664320cc94ee6e284c308b1983bcfdab2 lep 2015-10-27 17:17:04
Fixed rare segmentation fault. 13a129c8800d306c4117a54cf62cabbb86db3092 lep 2015-10-25 16:11:55
Makefile fixes. 08a5e4d203b0917d78c9fb479ff197d04f473b33 lep 2015-10-25 10:51:12
Makefile improvements (-O3 -flto) 035a361468f060b12bc473e5ec6b0d59db0765d3 lep 2015-10-24 09:16:16
Moved tests into this folder. 099d64a6284a26eafde87ef274c1210455db6f3e lep 2015-10-05 21:29:42
pjass now checks against //! +rb instead of //+rb. Whitespace allowed. 27da8d5250f0b815ef5d8765e0eac766ac4cce6b lep 2015-10-04 21:52:31
Optimized //+rb marker check. cb4a086136acb1a8d7b0bc8397237bbfbdc56191 lep 2015-10-04 18:11:13
Now allows //+rb everywhere. 4f366b09d651baf0846ed2097db94d35fe42b5a0 lep 2015-10-04 17:43:38
Added test target to the Makefile 0f2763df549a97364087c346f408e52ca9456c8d lep 2015-10-04 15:43:49
Allowes //+rb right before a function to ignore any returnbug errors in that function. Not throughoutly tested. 230863ba145b74be6dc8062787c8c9c1806d1c7a lep 2015-10-04 14:06:30
Directive to suppress warnings. f1538a555e3009cfd8cbd900347d523abdd11953 lep 2015-10-04 12:17:08
More Makefile enhancements. 94c97f7c5f943f09ee575e96e388e9e2c947385c lep 2015-10-04 11:34:36
Makefile enhancements 8bc7132422db4a3b90a82da4a63f7cfa9fdbe2f5 lep 2015-06-09 09:30:42
Changed canconvertreturn behaviour. a1ba7f1d59cc40f56d0b3e4855c31b3d66019d9d lep 2015-04-15 16:35:52
Rewrote string handling to better handle newlines. 434a8fe566783969cb69eb73b2792cd74dac71d3 lep 2015-02-12 15:13:54
Commit 85d0c7e4453c1879bcbc4db8be28527c5ce9f4f7 - Added \r, \n (\x10, \x13) as invalid escape characters.
Author: lep
Author date (UTC): 2016-01-06 13:16
Committer name: lep
Committer date (UTC): 2016-01-06 13:16
Parent(s): b6edcc3cfd5c1c837318b0efa5ded6f16e86b403
Signer:
Signing key:
Signing status: N
Tree: d4612ca47099be707ce91084beca4b492882ea7f
File Lines added Lines deleted
token.l 9 0
File token.l changed (mode: 100644) (index 0bcfd32..112f8dd)
... ... TABS [\x01-\x09\x0B\x0C\x0E-\x1F]
62 62 yyerrorline(3, lineno, "Invalid escape character sequence"); yyerrorline(3, lineno, "Invalid escape character sequence");
63 63 return UNITTYPEINT; return UNITTYPEINT;
64 64 } }
65 [']\\[\r\n]['] {
66 yyerrorline(3, lineno, "Invalid escape character sequence");
67 return UNITTYPEINT;
68 }
65 69
66 70 ['] { ['] {
67 71 BEGIN(RAWCODE); BEGIN(RAWCODE);
 
... ... TABS [\x01-\x09\x0B\x0C\x0E-\x1F]
84 88 yyerrorline(3, lineno, "Invalid escape character sequence"); yyerrorline(3, lineno, "Invalid escape character sequence");
85 89 rawcodelen++; rawcodelen++;
86 90 } }
91 <RAWCODE>\\[\r\n] {
92 yyerrorline(3, lineno, "Invalid escape character sequence");
93 rawcodelen++;
94 }
87 95 <RAWCODE>\r?\n { lineno++; isconstant = 0; rawcodelen += strlen(yytext); } <RAWCODE>\r?\n { lineno++; isconstant = 0; rawcodelen += strlen(yytext); }
88 96 <RAWCODE>\r { lineno++; isconstant = 0; rawcodelen++; } <RAWCODE>\r { lineno++; isconstant = 0; rawcodelen++; }
89 97 <RAWCODE>. { rawcodelen++; } <RAWCODE>. { rawcodelen++; }
 
... ... TABS [\x01-\x09\x0B\x0C\x0E-\x1F]
92 100 <INSTRING>["] { BEGIN(INITIAL); return STRINGLIT; } <INSTRING>["] { BEGIN(INITIAL); return STRINGLIT; }
93 101 <INSTRING>\\[btrnf"\\] { } <INSTRING>\\[btrnf"\\] { }
94 102 <INSTRING>\\. { yyerrorline(3, lineno, "Invalid escape character sequence"); } <INSTRING>\\. { yyerrorline(3, lineno, "Invalid escape character sequence"); }
103 <INSTRING>\\[\r\n] { yyerrorline(3, lineno, "Invalid escape character sequence"); }
95 104 <INSTRING>\r?\n { lineno++; isconstant = 0; } <INSTRING>\r?\n { lineno++; isconstant = 0; }
96 105 <INSTRING>\r { lineno++; isconstant = 0; } <INSTRING>\r { lineno++; isconstant = 0; }
97 106 <INSTRING>. {} <INSTRING>. {}
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