68 Commits
Author SHA1 Message Date
NovaRain d55be0b166 Edits to sslc document
Updated version number.
2026-05-23-12-48-08
2026-05-23 20:42:16 +08:00
Vlad KandGitHub 331adfb682 Merge pull request #25 from sfall-team/feature/nested-array-expressions
Nested Array Expressions support
2026-03-15-12-52-25
2026-03-15 13:47:37 +01:00
phobos2077 ea3bb29ec3 Array Expressions: emit temp_array calls with special flags to signify begin/end of a sub-expression 2026-03-08 17:47:06 +01:00
NovaRain 2580c6e4db Edits to sslc document
Updated version number.
2026-03-08-12-40-38
2026-03-08 20:36:19 +08:00
Vlad KandGitHub 4962d3cd68 Merge pull request #26 from sfall-team/feature/pragma-sce
Pragma for short-circuit evaluation
2026-03-08-12-02-00
2026-03-08 12:56:29 +01:00
NovaRain c319984b05 Try bumping the cache version 2026-03-08 17:46:23 +08:00
phobos2077 f3fbce0105 Added support for #pragma sce for convenient enabling of short-circuit evaluation on a per-script basis 2026-03-07 19:25:38 +01:00
Vasilii RoginandGitHub bd7a9ce623 Fix modderspack download link (#23) 2026-02-07-11-20-26 2026-02-07 19:16:03 +08:00
Vasilii RoginandGitHub a49223d8e4 Use NODERAWFS for wasm builds (#21)
* Use noderawfs

* Remove __dirname version

* Create absolute symlink to test on RPU
2025-06-18-01-40-04
2025-06-18 09:35:07 +08:00
Vasilii RoginandGitHub eac3739a2f Fix Linux .tmp file leftover (#20)
* Fix tmp file leftovers
* Add failing test
2025-06-18-01-34-32
2025-06-18 09:29:44 +08:00
NovaRain 39a48d6454 Updated changelog 2025-06-13-15-49-12 2025-06-13 23:43:47 +08:00
phobos2077 3c40fb23b0 Revert version change 2025-06-13-13-55-56 2025-06-13 15:43:34 +02:00
VladandGitHub 308d86323b Merge pull request #18 from roginvs/fix_break_statement_stack
Fix break statement
2025-06-13 15:41:45 +02:00
Vasilii Rogin 2266ed2518 Fix break statement stack leftover 2025-06-12 22:17:29 +03:00
NovaRain fb17b9a933 Edits to code style/formatting
* tabs for indentation, spaces for alignment.
* remove trailing spaces and unnecessary keyword/declaration.
* edit compile.c for VS2010 (for actual binary release in modderspack).
* version number should follow sfall versioning.
2025-06-12-12-57-12
2025-06-12 20:51:30 +08:00
phobos2077 4ea7af04ad Renamed variables "true" and "false" to fix compilation in newer GCC 2025-06-12-12-40-32 2025-06-12 14:34:20 +02:00
Vasilii RoginandGitHub 5a939a8ff2 Add Linux and Nodejs build targets (#14)
* Add CI build

* fix

* Update toolset

* Use v141_xp

* Run on win2019

* Fixes

* Link libs statically

* Use vcxproj

* Experiment: no spaces in configuration

* Experiments with build

* Commented Fallout1 builds

* Comment Win2k builds

* Exclude ./out/ from git

* Add compat headers

* Use one compat file

* Fixes for build

* Include compat

* Add guard for compat.c

* Add CMakeLists

* Add linux x32 build

* Small improvements to build steps

* Do not install build-essential

* gRevert "Do not install build-essential"

This reverts commit 434d8e9e98.

* Build wasi

* Fixing CI pipeline

* Fix wasi-sdk download url

* Use "" for version

* Fix wasm build

* Fix wasi build

* Disable WASI build due to setjmp/longjmp

* Adding emscripten support

* Fixes for builds

* Include nodefs

* Add emscripten build into CI

* Build release version from github

* Emit mjs file

* Add environment node

* Use emscripten 4.0.8

* Add comment

* Use PATH_MAX

* Move all builds into one file

* Use bash for linux builds only

* Rename artifacts names

* Add auto-releases

* Add debug ls

* Fix artifacts names

* Remove folder from tar archive

* Fix artifact name

* Enable release only on push

* Release other builds too

* fix names

* Fix names

* Enable deploy only on push

* Remove useless line

* Use NODERAWFS & format CMakeLists

* Add node-rawfs into emscripten build name

* Delete tmp file on non-windows platforms

* Rename tmp_file_name

* Remove temp file on posix platforms

* Revert "Remove temp file on non windows platforms"

* Use nodefs instead of noderawfs

* Fix ChatGPT code

* Add simple tests

* Fixes to tests

* Fixes for tests run

* Small improvements

* Rename variable

* Small refactor of test runner

* Remove warnings which shows folder name

* Add minimal package.json

* fix package.json main

* Fixes for package.json

* Fixes for npm packaging

* Use bin for all in cmake

* Use package subfolder in emscripten ci build

* Update CI

* Add compiler.mjs as binary

* Add test into CI

* Bump version

* Thinking about running on fallout2 rpu

* Add some tests of Fallout RPU

* Adding tests for RPU

* Debugging

* Small improvements

* Fixes

* Remove comment (there is no problem with asb paths because it runs on the same system)

* Experimental: Add RPU test into CI pipeline

* CI fixes

* Fixes

* Use set -e

* Add debug for windows build

* Add install 7z

* Fixes for test runner

* Fixes for test runner

* Fix symlink creation

* Fixing emscripten runner

* Add comments

* Skip running long test on debug build

* Add comment

* Use relative symlink for emscripten builds

* Show stderr/stdout on wasm crash

* Increase stack size to fix emscripten crashes

* Add option to skip rpu check by using label

* Add additinal label to skip wasm check because they are really really slow

* Remove useless line

* Add daemon mode for compiler

* Use nodejs daemon mode in CI

* Add debug for daemon start

* Fix daemon start in CI

* Add some errors check for daemon mode

* Fix daemon cwd

* Reduce logging for daemon

* use node 22 for emscripten tests runner

* Split RPU setup and test run, use cache

* Fix order: first try cache

* Fix type in CI action

* Fix dependencies in CI

* Add fail-on-cache-miss

* Install wine on test setup

* Bump cache version

* Add comment

* Fix for different caches

* Fix bash script

* Bump cache version

* Check that snapshot file exists

* Add "bin" option into package.json

* Add comment

* Fix checks for RPU

* Improve testing logic

* Do not install wine if it is already installed

* Add some sanity checks

* Remove useless check

* Check compiler on setup stage

* Bump cache version to check setup script on all platforms

* Add set -u

* Fix env varibales, check wine in bash

* Remove unused variable now

* Bump cache version

* Suppress warning on Windows when checking for apt

* Disable asyncify, reduce memory growth

* Remove export all

* Use O2 for release

* Revert exports back because we need FS

* Remove emscripted daemon mode from CI

* Remove CI daemon mode from emscripten compiler

* Adding utils.bash file

* Move utils

* Move embedded test files

* Move gitignore

* Use utils for embedded tests too

* Remove useless assignment

* Fix Windows regular tests

* Rename folder name

* Add some test files

* Add failing .ssl files

* Replace paths for embedded tests too

* Add expected results for failing compilations

* Remove spaces in bash script

* Use new line for reports

* Remove unused variable in test run

* Use new line for test runner too

* Use windows-latest

* Try windows 2022

* Revert "Try windows 2022"

This reverts commit 62f6036fae.

* Try to use latest but install vs2017

* Do vcvars from vs2017

* Use vs2019

* Change step name

* List directories

* Use VsDevCmd

* Add cmd as shell for dir

* use multi-line

* Fix multiline

* remove duplicate

* Use 2017

* Try to install directly

* Use cmd as shell

* Add sdk to install

* Use call

* Add VC.Tools.v141;

* Add includeRecommended

* Add dir command

* More components

* Use choco

* Into one line

* Use windows-2025

* Use 2019

* Trying to use vs2019

* Remove choco cache because it does not work properly

* Disable ES6 export

* Remove wrong commit

* Enforce EXPORT_ES6=0

* Revert back to 0ef49cbb01

* Add separate mjs file with __filename
2025-06-12-12-26-59
2025-06-12 14:22:24 +02:00
NovaRain 5028607ad0 Updated changelog in sslc_readme.md
Updated version nummber.
2024-06-13 16:24:44 +08:00
NovaRainandGitHub f95700319c Merge pull request #12 from sfall-team/feature/foreach-for-variable-syntax-fixes
Syntax improvements: foreach, for, variables

- ForEach: allow to declare variables for key & value header
- ForEach: allow to use expression after `in` that start with a symbol without mandatory parantheses
- Variables: allow to declare variables anywhere where statement is expected
- Variables: simplify declaration code & array vars
- Expressions: display useful error message when expression was expected but nothing was parsed
2024-06-13 16:14:11 +08:00
phobos2077 e83a58d34f Variable initialization: fix failure to recognize expressions that only start with constant 2024-06-11 00:29:32 +02:00
phobos2077 d15a8cc310 ForEach: fix crash in foreach variable v in ar 2024-06-11 00:26:33 +02:00
phobos2077 fb2343792c Parser.dll: fix Sfall Script Editor compatibility 2024-06-10 10:19:44 +02:00
phobos2077 13390e3f7c ForEach: more robust check for removal of temp array var
- Handles cases like `foreach (x in arr[1])`, which required parentheses before.
- Generated code should not be affected.
2024-06-10 10:13:51 +02:00
phobos2077 f9d59f7e83 ForEach: skip temp var for array when it's a fetch from global or external var 2024-06-09 17:41:16 +02:00
phobos2077 3bf82984f3 Syntax improvements: foreach, for, variables
- ForEach: allow to declare variables for key & value header
- ForEach: allow to use expression after `in` that start with a symbol without mandatory parantheses
- Variables: allow to declare variables anywhere where statement is expected
- Variables: simplify declaration code & array vars
- Expressions: display useful error message when expression was expected but nothing was parsed
2024-06-09 17:26:09 +02:00