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)
feat(build)!: Add Debian 12 packaging 144841cb79511ae8c12e82e7fd27170deb282db8 Vladyslav Bondarenko 2023-07-28 15:32:19
Disallow null as return value for returns code functions ac58f84a23afe447621dff7ffd84e36a92295817 lep 2023-02-23 19:47:43
Update flake.lock 7e3e7ef5bcbbdfdcf5e1498dfa39081237da8c0d lep 2023-02-18 10:55:06
Report function calls with more than 31 arguments. 462649989e32c97aecdf0aec40e0c86102ac26ac lep 2022-12-05 20:13:50
Add basic nix flake b534287001f27c310baf8194e9af0693e3cd1fec lep 2022-10-15 11:10:09
Add basic nix flake 5d652e3ae970d8553018a7bad110f7620ab6bfc4 lep 2022-10-15 11:10:09
Actualy use unary plus in test... ae3ab09ffe8c1630721bd26e655850db50194c20 lep 2022-08-21 08:51:28
Add tests for unary plus. f031582b832cc48d67971da1f8ba9b0be5b023e4 lep 2022-08-21 08:49:48
Allow unary + 5b6b615cea77034b738da3eac62ae7ba8052588d lep 2022-08-21 08:38:36
Let's stick to C89 for no particular reason. cd51461db64267f9a9cd9cdc25fec7d1fbb7f18a lep 2022-08-01 06:57:19
Improve help message 703f452844de116dbb153ff581bfe4120ea92fe7 lep 2022-07-31 14:16:56
Fix compilation error on GCC 10 27d720b5667133e082ed05a8b11bad1363d3f941 lep 2021-09-11 17:52:21
Removed mysterious "tabs" token from lexer 6f64950ace54e78e7de5ad81d7a86f7519584367 lep 2021-08-15 18:41:28
Better error message when using a function as var name a9da0a4fac7285895ddee113c3df2f1de64cca89 lep 2021-06-12 16:55:21
Add special case for missing `call` ffc71221bf4cf297759d36f57d45bb9f20434b4f lep 2021-04-09 21:42:24
Fixes for OpenBSD 4edafbf95d75a98fc4b1469f32bb4e52ed200314 lep 2021-03-27 09:37:24
Don't use strncat. 332fecc88884fe33da77036a41188b9cfc73e4f2 lep 2021-02-19 22:25:35
Allow assignment to local variable in constant function 0920290c0af1fe76066aa9520729b2afaa41fbd7 lep 2020-08-04 16:18:16
Add hexadecimal form with uppercase X 43d20a0f74e86cb2c89021b893b923d2efb4070a lep 2020-08-04 16:17:13
Use flag in test. df89d16a43ce0b5c2f7ca0a079818361dee02908 lep 2020-08-04 16:15:24
Commit 144841cb79511ae8c12e82e7fd27170deb282db8 - feat(build)!: Add Debian 12 packaging
Add Debian 12 (bookworm) packaging meta build files. This allows the
project to be built and installed with Debian-derived systems easily,
which is conventient for developers who use such systems.

See also `smpq` for managing MPQ files and `m4` for generic script
preprocessing.
Author: Vladyslav Bondarenko
Author date (UTC): 2023-07-28 15:32
Committer name: Vladyslav Bondarenko
Committer date (UTC): 2023-07-28 16:29
Parent(s): ac58f84a23afe447621dff7ffd84e36a92295817
Signer:
Signing key: EFF9624877D25D02
Signing status: E
Tree: 72e5a1a9e102314ff04fbd175106a2e5300d4a80
File Lines added Lines deleted
debian/.gitignore 2 0
debian/changelog 186 0
debian/changelog.Debian 5 0
debian/control 39 0
debian/copyright 34 0
debian/rules 33 0
debian/source/format 1 0
File debian/.gitignore added (mode: 100644) (index 0000000..8aa3453)
1 files
2 tmp
File debian/changelog added (mode: 100644) (index 0000000..0fefdf8)
1 pjass (1-ac58f84) UNRELEASED; urgency=medium
2
3 [ cilibrar ]
4 * lets begin
5 * Allow null to be converted to code, string, and appropriate comparisons.
6 * Fixed bug with string literal addition. Added unfortunate special case to canconvert to allow downcasts from base to derived. Waiting on Blizzard to fix this one. (such a cast appears in one place in Blizzard.j)
7 * Fixed segfault involving undeclared variables by assuming they are integer.
8 * Make downcasting bug a bit more restrictive to minimize future problems.
9 * Added \n, \r, \t in double-quotes. Added debug keyword handling. Now it parses everything in the Scripts directory except demo.ai, which looks like it could never work anyway.
10 * A makefile for cygwin.
11 * *** empty log message ***
12 * *** empty log message ***
13 * *** empty log message ***
14 * *** empty log message ***
15 * Fix error message for implicit redirection parameter.
16 * *** empty log message ***
17 * Converted to autoconf, automake.
18 * Some boilerplate files.
19 * Fixed options to compile under RedHat.
20 * More adjustments.
21 * More configuration guessing scripts.
22 * Fixed -mno-cygwin option to work under just cygwin host_os
23 * *** empty log message ***
24 * Works under Linux, removed debug messages.
25 * Fixed some errors on Debian and removed some warnings.
26
27 [ lep ]
28 * Fake commit to cleanup the cvs-import of the pjass sourceforge repo.
29
30 [ PitzerMike ]
31 * pjass 10f
32 * pjass 10g
33 * pjass 10h
34 * pjass 10i
35 * pjass 10j
36
37 [ Zoxc ]
38 * pjass 10k
39
40 [ PitzerMike ]
41 * pjass 10l
42
43 [ Deaod ]
44 * pjass 10m
45
46 [ lep ]
47 * pjass 10n
48 * Comments now work with EOF in addition to newlines at the end.
49 * Removed unnecessary tokens.
50 * Removed multiline comments.
51 * Fixed some bison warnings.
52 * Removed returnsbool-check for Filter/Condition.
53 * Added git-versionstring.
54 * Added basic uninitialized variable check for locals.
55 * Fixed bug in editdistance.
56 * Unidentified variables are now marked as initialized.
57 * Added early exit to editdistance function.
58 * Fixed some more warnings.
59 * Missing-return checks also checks elseifs.
60 * Missing-return check in elseifs should work now.
61 * Added ifdefs for memalign functionality.
62 * Wrapped typenode member accesses in getTypePtr.
63 * Changed sprintf to snprintf.
64 * Reverted smth.
65 * Fixed some memory violations.
66 * Rewrote the hashtable.
67 * Changed min function to min makro.
68 * Only put locals into the initialized table.
69 * Small changes. Removed some unused symbols.
70 * Propagate returncheck through statements.
71 * Changed statement default return type from gNone to gAny.
72 * Also changed gNone to gAny in else and elesif cases.
73 * Undefined variables are not suggested for other undefined variables.
74 * Rewrote rawcode handling for somewhat better error messages.
75 * Rewrote string handling to better handle newlines.
76 * Changed canconvertreturn behaviour.
77 * Makefile enhancements
78 * More Makefile enhancements.
79 * Directive to suppress warnings.
80 * Allowes //+rb right before a function to ignore any returnbug errors in that function. Not throughoutly tested.
81 * Added test target to the Makefile
82 * Now allows //+rb everywhere.
83 * Optimized //+rb marker check.
84 * pjass now checks against //! +rb instead of //+rb. Whitespace allowed.
85 * Moved tests into this folder.
86 * Makefile improvements (-O3 -flto)
87 * Makefile fixes.
88 * Fixed rare segmentation fault.
89 * Changed //! +rb to //# +rb
90 * Added gprof support.
91 * Added prof target to makefile
92 * Fixed various warnings.
93 * Fixed another rare crash.
94 * Added \r, \n (\x10, \x13) as invalid escape characters.
95 * Cleaned up string and comment handling in the lexer
96 * FreeBsd patches.
97 * Added tests to the git repo.
98 * Added utf8 bom as another whitespace token.
99 * Added a test which checks if the utf8-bom can be used as whitespace.
100 * Fixed all Warnings.
101 * Also pack testfiles into the release zip.
102 * Moved code into seperate files.
103 * Added filterreturnsbool check which can be enabled via //# filter
104 * Removed strict downcasting check.
105 * Added help target to Makefile
106 * Added help target to Makefile
107 * Removed the +s and +e<n> flags.
108 * Added optional variable shadowing warning.
109 * Reduced duplicate code from variable decleration.
110 * Added +shadow description to -h
111 * MinGW fixes.
112 * Added +nosyntaxerror and +nosemanticerror
113 * A very strange error with newlines and comments.
114 * Improved errors for function-calls.
115 * Also split on \r in flag parser.
116 * Don't treat ``.'' as a valid real value.
117 * Actually add all the sources to the release zipball
118 * More descriptive check for assignment.
119 * Can now compile on freebsd and linux from one branch.
120 * Makefile changes.
121 * Better ifdef-handling for aligned malloc.
122 * Public git release.
123 * Update readme.md
124 * Added checks for natives which behave bad in a globals block.
125 * Handle wrong shadowing.
126 * Better error messages.
127 * Do not report arrays as uninitialized when the index is missing.
128 * Replace strncat with str_append.
129 * Track opening/closing blocks.
130 * Cross compile and strip under FreeBSD
131 * Track blocks
132 * realloc returns the new pointer...
133 * Added modulo operator.
134 * Fixed off-by-one error in str_append.
135 * Added unitialized check for globals.
136 * Only add globals to uninitialized globals.
137 * Optimized ht_put by not calling ht_lookup.
138 * Fixed some warnings.
139 * Increased types hashtable size
140 * Small cleanup
141 * Power of 2 hashing
142 * For release build make amalgation
143 * Pass cflags to release build
144 * Also add git version to release build
145 * A bit better error message for wrong typed array index
146 * Added missing new tests
147 * Improved the amalgation build
148
149 [ Jesse Rogers ]
150 * Support Apple by defining _aligned_malloc
151
152 [ lep ]
153 * Specify minimum bison version in readme
154 * Report natives after function defintions
155 * More newline stuff
156 * Added reserved keyword 'alias'
157 * Better error message for `type` as a name
158 * Fix release target
159 * Added check for bad StringHash usage
160 * Added some tests for the new StringHash check.
161 * Improved Readme
162 * Document installation methods
163 * Use the strhash hashfunc for our hashtables.
164 * Warn when using native as code
165 * Small readme fixes
166 * Use flag in test.
167 * Add hexadecimal form with uppercase X
168 * Allow assignment to local variable in constant function
169 * Don't use strncat.
170 * Fixes for OpenBSD
171 * Add special case for missing `call`
172 * Better error message when using a function as var name
173 * Removed mysterious "tabs" token from lexer
174 * Fix compilation error on GCC 10
175 * Improve help message
176 * Let's stick to C89 for no particular reason.
177 * Allow unary +
178 * Add tests for unary plus.
179 * Actualy use unary plus in test...
180 * Add basic nix flake
181 * Add basic nix flake
182 * Report function calls with more than 31 arguments.
183 * Update flake.lock
184 * Disallow null as return value for returns code functions
185
186 -- Vladyslav Bondarenko <vladyslavbond@protonmail.com> Fri, 28 Jul 2023 16:35:09 +0300
File debian/changelog.Debian added (mode: 100644) (index 0000000..65a3dc5)
1 pjass (1-ac58f84-1) UNRELEASED; urgency=low
2
3 * Package for Debian 12 (bookworm) quick-and-dirty
4
5 -- Vladyslav Bondarenko <vladyslavbond@protonmail.com> Fri, 28 Jul 2023 18:46:13 +0300
File debian/control added (mode: 100644) (index 0000000..46a00c9)
1 Homepage: https://github.com/lep/pjass
2 Maintainer: Vladyslav Bondarenko <vladyslavbond@pm.me>
3 Priority: optional
4 Section: devel
5 Source: pjass
6 Standards-Version: 4.6.0
7 Vcs-Browser: https://github.com/lep/pjass
8 Vcs-Git: https://github.com/lep/pjass
9 Build-Depends:
10 bison,
11 flex,
12 libc-dev (>= 2.27),
13 libctf0,
14 libfl-dev,
15 libisl23,
16 libjansson4,
17 libmpc3,
18 libmpfr6,
19 libpcre2-8-0,
20 libzstd1 (>= 1.5.2),
21 m4,
22 make (>= 4.0),
23
24 Package: pjass
25 Architecture: amd64 i386
26 Depends:
27 libc6 (>= 2.34)
28 Description: Lightweight and fast Jass2 parser for bison/yacc
29 To use this program, list the files you would like to parse in order.
30 If you would like to parse from standard input (the keyboard), then
31 use `-` as an argument. If you supply no arguments to pjass, it will
32 parse the console standard input by default.
33 .
34 The most common usage of pjass would be like this:
35 ```pjass common.j Blizzard.j war3map.j```
36 .
37 `pjass` accepts some flags:
38 * -h print this help message and exit
39 * -v print pjass version and exit
File debian/copyright added (mode: 100644) (index 0000000..8241c17)
1 Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2 Upstream-Name: pjass
3 Upstream-Contact: lep <lep.delete@googlemail.com>
4 Source: https://github.com/lep/pjass
5
6 Files: *
7 Copyright: 2003-2004 Rudi Cilibrasi <>
8 License: BSD
9 BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
10 .
11 Redistribution and use in source and binary forms, with or without
12 modification, are permitted provided that the following conditions are
13 met:
14 * Redistributions of source code must retain the above copyright
15 notice, this list of conditions and the following disclaimer.
16 * Redistributions in binary form must reproduce the above
17 copyright notice, this list of conditions and the following disclaimer
18 in the documentation and/or other materials provided with the
19 distribution.
20 .
21 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 .
33 On Debian systems, the complete text of the license can be found in
34 "/usr/share/common-licenses/BSD".
File debian/rules added (mode: 100755) (index 0000000..3b20e56)
1 #!/usr/bin/make -f
2
3 BUILDDIR=debian/tmp
4 PKGNAME=pjass
5
6 clean:
7 make -f GNUmakefile clean
8 rm -rf "${BUILDDIR}/${PKGNAME}"
9
10 build-indep:
11 mkdir -p "${BUILDDIR}/${PKGNAME}/usr/share/doc/${PKGNAME}/"
12 cp debian/copyright "${BUILDDIR}/${PKGNAME}/usr/share/doc/${PKGNAME}/"
13 cp debian/changelog "${BUILDDIR}/${PKGNAME}/usr/share/doc/${PKGNAME}/"
14 gzip -fn --best "${BUILDDIR}/${PKGNAME}/usr/share/doc/${PKGNAME}/changelog"
15 cp debian/changelog.Debian "${BUILDDIR}/${PKGNAME}/usr/share/doc/${PKGNAME}/"
16 gzip -fn --best "${BUILDDIR}/${PKGNAME}/usr/share/doc/${PKGNAME}/changelog.Debian"
17
18 build-arch:
19 make -f GNUmakefile pjass test
20 mkdir -p "${BUILDDIR}/${PKGNAME}/usr/bin/"
21 cp pjass "${BUILDDIR}/${PKGNAME}/usr/bin/"
22
23 build: build-arch build-indep;
24
25 binary-indep: build;
26
27 binary-arch: build;
28 #binary-arch
29 mkdir -p "${BUILDDIR}/${PKGNAME}/DEBIAN/"
30 dpkg-gencontrol -P"${BUILDDIR}/${PKGNAME}"
31 dpkg-deb --build "${BUILDDIR}/${PKGNAME}" ..
32
33 binary : binary-arch binary-indep;
File debian/source/format added (mode: 100644) (index 0000000..af745b3)
1 3.0 (git)
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