A new lexer is noticeably faster and memory efficient
(although splitting a file to tokens is negligible in a whole pipeline).
But the purpose of rewriting lexer was not just to speed up,
but to allow writing code without spaces:
`2+2` is now 4, not a valid identifier as earlier.
The variety of symbols allowed in identifier has greatly reduced
and is now similar to other languages.
SrcLocation became 8 bytes on stack everywhere.
Command-line flags were also reworked:
- the input for Tolk compiler is only a single file now, it's parsed, and parsing continues while new #include are resolved
- flags like -A -P and so on are no more needed, actually
* add github action for macOS 14 (arm64, M1)
* add github action (portable) for macOS 14 (arm64, M1)
* rename macOS arm64 output artifact
* Update libsodium on windows
* Compile libsodium
* Update build-windows.bat
* use upgraded libsodium 1.0.20; use compiled static libsodium for Windows instead of precompiled;
* revert libsodium 1.0.20; use compiled static libsodium for Windows instead of precompiled;
* use upgraded libsodium 1.0.20; use compiled static libsodium for Windows instead of precompiled;
* fix libsodium version 1.0.19; use compiled static libsodium for Windows instead of precompiled;
* try 1.0.20 libsodium precompiled on github
* try 1.0.18 libsodium precompiled on github
* try windows build on win server 2019
* and use PlatformToolset=v142
* use cmake -G "Visual Studio 16 2019"
* fix path to msvc 2019 on github
* separate github windows build on win server 2019 and build on win server 2022
* Update assembly/native/build-windows-2019.bat
add retry mechanism
Co-authored-by: Dr. Awesome Doge <doge@ton.org>
* add test-emulator; disable test groovy pipeline
* trigger all gh actions
* fix win build
* call test-emulator
* remove usage of rocksdb in fift-lib
* put back some code for test-db
* fix test-emulator
* remove usage of db-path parameter in fift
* some func adjustments
* fix checkout of openssl in fift-func-wasm-build-ubuntu.sh
* typo
* improve wasm build script for quicker turn around
* remove sENVIRONMENT=web,worker for funcfiftlib. will be added later.
* remove sENVIRONMENT=web,worker for funcfiftlib. will be added later.
* remove sENVIRONMENT=web,worker for funcfiftlib. will be added later.
* minor adjustments
* remove -d option in fift; optimize fift-lib usage
* reduce tondb usage
---------
Co-authored-by: neodiX <neodix42@ton.org>
Co-authored-by: Dr. Awesome Doge <doge@ton.org>
Co-authored-by: ms <dungeon666master@protonmail.com>