Commit Graph

749 Commits

Author SHA1 Message Date
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
Username404 644d8d26a2
Use named functions in HelloWorld.ybcon and README.md
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 0b3109c989
Add a move assignment operator to ParseTree
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 a45902c9b2
Add an "at" function to ParseTree
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 1a37e35228
Add a component_ptr type definition to ParseComponents.hpp
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 ca4e773fca
Add an alternative "make_task_noR" macro to avoid making unused references in Target.hpp
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 f33aec687a
Parse Calls/ParseTrees
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 3f75c5cfc8
Fix the "Hello, World!" example in the README.md file
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 3bd631d70c
Make sure run-time type information is enabled on MSVC
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 6f1407ff52
Add a minimal MSVC version
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 c7903678a0
Add "/Zc:inline" to the MSVC compiler flags
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 f2645744ee
Add "/Zc:throwingNew" to the MSVC flags
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 4082523be1
Enable the new preprocessor conformance mode on MSVC
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 b5ff43e109
Remove a useless constructor in the ParseTree class
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 63b3d727a6
Add a newline to the output in Target.hpp
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 ae2a661427
Remove the useless nested structure in StandardComponents::Class 2022-02-14 14:12:00 +01:00
Username404 17ea99118c
Add "-fno-math-errno" to the release flags for GNU and Clang compilers
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 a59629bf94
Update the description of the "--buildInfo" argument
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 905222f61d
Don't output an extra new line in the stringInterpolation() function 2022-02-14 14:12:00 +01:00