Username404
7a18bfad59
Add support for Emscripten toolchains in the CMakeLists.txt file
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-09 00:53:08 +02:00
Username404
49dc7d0ebb
main.cpp: Use a map instead of a set and a vector in main.cpp
...
Target.hpp: make staticMap thread-local to avoid issues with the "--parallel" argument, and don't include dots in the languages array
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-08 19:45:00 +02:00
Username404
2b596e691c
Rename the "it" local variable to "closing" in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-08 12:46:56 +02:00
Username404
14b71906b7
Add a SEMICOLON token
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-08 11:01:16 +02:00
Username404
1d3046892f
Change the syntax for anonymous functions in docs/gettingstarted.md
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-08 10:53:44 +02:00
Username404
00a8fbaa83
Improve the Build Requirements section in the README.md file
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-03 12:02:52 +02:00
Username404
0a90c25487
Set the minimal clang version to 14.0.1 because 14.0.0 breaks a std::span constructor (which worked in 14.0.0-rc1)
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-03 11:51:46 +02:00
Username404
bc1564aadc
Set the MSVC minimum version to 19.30
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-27 16:25:35 +02:00
Username404
4a795b9ca0
Specify that variables are static by default only at compile time in docs/gettingstarted.md
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 18:40:49 +01:00
Username404
88d0774d30
Fix the precision of StandardComponents::types::Integer
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 18:17:58 +01:00
Username404
ca3b030fed
Delete the default constructor in Target.hpp and always initialize output
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 15:59:32 +01:00
Username404
db0ada09f6
Use powl instead of pow in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 15:52:09 +01:00
Username404
ce8e21ee25
Include cmath in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 15:37:13 +01:00
Username404
8a97def6b2
Add integer parsing
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 13:40:18 +01:00
Username404
adbe98ec00
Increment i after finding the end iterator when parsing variables
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 13:40:03 +01:00
Username404
01abadc1fa
Use cmp_less instead of cmp_greater in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-19 16:28:59 +01:00
Username404
3a75531664
Transpile arguments correctly in Target.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-19 13:09:51 +01:00
Username404
ba14e95d50
Add a separate_transpileTree overload and transpile function parameters correctly
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-19 12:40:52 +01:00
Username404
5f3c8d785d
Use to_address instead of the unique_ptr::get function in ParseTree::findById
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-17 16:44:04 +01:00
Username404
bee9917947
Use LPAR instead of a character in a condition of Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-17 15:49:03 +01:00
Username404
272323d091
Add two local variables to Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-17 15:47:03 +01:00
Username404
98435c90ae
Update the linux target requirements in the README.md
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-16 22:10:27 +01:00
Username404
513c9a44a0
Re-add a variable to hold the current target in main.cpp, and capture it by value in the compile function
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-16 14:01:19 +01:00
Username404
1f819bc136
When parsing a function call, invoke parse without specialization since the "=" operator needs a ParseTree
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 22:35:18 +01:00
Username404
fb1ec6813f
Require clang 14.0 or higher
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 22:12:58 +01:00
Username404
bd6212daea
Build x86_64 and i686 mingw32 targets before arm targets to give priority to the FAILURE stage result in the Jenkinsfile
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 21:58:40 +01:00
Username404
6dc658664a
Make the stage result 'UNSTABLE' when arm mingw32 targets fail to build in the Jenkinsfile
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 21:49:50 +01:00
Username404
4057423b8f
Set CMAKE_DISABLE_PRECOMPILE_HEADERS to "ON" in the Jenkinsfile
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 15:42:06 +01:00
Username404
f21a79fb29
Include Yerbacon.hpp in filefuncs.cpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 15:39:40 +01:00
Username404
f3d03adead
Add functions, indentation, better variables parsing and more
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 15:15:29 +01:00
Username404
b47c8b3dc7
Add a "Build for other architectures" stage to the Jenkinsfile
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 10:27:05 +01:00
Username404
74c5904d21
Add a character cast operator to tok in lex.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-12 11:16:36 +01:00
Username404
2425d19f9f
Add a Parser::parse overload which takes input iterators as arguments
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-09 20:48:57 +01:00
Username404
8e7aaadbd0
Rename parseVector to parse in Parser.hpp, and make the parameter a span instead of a vector
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-09 19:31:30 +01:00
Username404
cca696b27a
Fix the line number of next in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-04 19:31:28 +01:00
Username404
26d88c2f91
Set line to 1 by default in the tok structure
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-04 19:25:29 +01:00
Username404
9d7300ce89
Fix errors by removing the isNotBlank boolean and using hasNext instead
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-04 19:19:13 +01:00
Username404
33e29ccb8e
Remove the tok default constructor in lex.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-01 20:16:29 +01:00
Username404
6955c5cb4d
Remove tok::type::EOF_ because it is useless, and fix the `next` local constant reference in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-01 20:14:47 +01:00
Username404
df10215e4e
Rename LEGALCOPYRIGHT to LEGAL-COPYRIGHT in the CMakeLists.txt and resources/Yerbacon.rc files
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 22:42:20 +01:00
Username404
ec4121de1c
Fix parsing of parentheses by searching after the current index
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 16:03:34 +01:00
Username404
56e1db5fcc
Add a transpileTree function to Target.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404
3c130529a4
Make the newLine constructor parameter a reference & add a "separator" member and a "uniqueLineSeparator" virtual method to Target.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404
63b24752d6
Make the members of the tok structure non-const to avoid undefined behaviour when the "=" operator is called
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404
beb28ef4ad
Rename the Yerbacon::exit function to Yerbacon::fail
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404
de2259b6ed
Add a "inverseLCharacter" static function to tok
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404
7cbb424416
Add a "unit_result" type alias to main.cpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404
de2d936e19
Use dynamic_cast instead of reinterpret_cast in Target.hpp and ParseComponents.hpp, and extend the ParseComponent class virtually in the ParseTree and NamedIdentifier classes
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404
68dc7ea1a1
Make Parser::parseVector a function template
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404
c4f75a3b04
Make the constexpr ParseTree constructors inline instead
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00