|
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 |
|
|
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 |
|
|
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 |
|
|
68dc7ea1a1
|
Make Parser::parseVector a function template
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
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 |
|
|
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 |
|
|
a45902c9b2
|
Add an "at" function to ParseTree
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
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 |
|
|
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 |
|
|
f33aec687a
|
Parse Calls/ParseTrees
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
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 |
|
|
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 |
|
|
ae2a661427
|
Remove the useless nested structure in StandardComponents::Class
|
2022-02-14 14:12:00 +01:00 |
|
|
905222f61d
|
Don't output an extra new line in the stringInterpolation() function
|
2022-02-14 14:12:00 +01:00 |
|
|
04923f03a5
|
Revert "Remove a useless #include directive in lex.hpp"
This reverts commit 41e33e30ba5faef9bd841777eae8701718bf8f69.
|
2022-02-14 14:12:00 +01:00 |
|
|
4f40fdaed7
|
Add a "=" operator and a default constructor to tok
|
2022-02-14 14:12:00 +01:00 |
|
|
eb709e60b0
|
Remove the (now useless) parallel parameter in the getFileContent() function from filefuncs.cpp
|
2022-02-14 14:12:00 +01:00 |
|
|
96dd67b69a
|
Remove a useless #include directive in lex.hpp
|
2022-02-14 14:12:00 +01:00 |
|
|
cf4ea8a1f8
|
Improve the tok constructors
|
2022-02-14 14:12:00 +01:00 |
|
|
19f76c405c
|
Remove a useless constructor in lex.hpp
|
2022-02-14 14:12:00 +01:00 |
|
|
f90514ba4b
|
Remove the <optional> include directive in Target.hpp since it is now useless
|
2022-02-14 14:12:00 +01:00 |
|
|
5580b8f204
|
Remove redundant optional usage in Target.hpp
|
2022-02-14 14:12:00 +01:00 |
|
|
106a2f0be9
|
Remove a useless semicolon in Target.hpp
|
2022-02-14 14:12:00 +01:00 |
|
|
cb8e818956
|
Add shared tasks to Target.hpp
|
2022-02-14 14:12:00 +01:00 |
|
|
eb586a2899
|
Use generic_category::message() instead of strerror() in filefuncs.cpp
|
2022-02-14 14:12:00 +01:00 |
|
|
e720ff0f2d
|
Add an error message when an exception is thrown from the getFileContent() function & --parallel is not in use, and support MSVC
|
2022-02-14 14:12:00 +01:00 |
|
|
d2c0ef185f
|
Add the C++ standard to the getBuildInfo() function by adding two new macros: "token_expansion" and "make_string"
|
2022-02-14 14:12:00 +01:00 |
|
|
f266c35954
|
Use the size_t type instead of "unsigned long" for variables that hold the result of a find() call
|
2022-02-14 14:12:00 +01:00 |
|
|
158021cf68
|
Fix the indentation of a line modified by the previous commit
|
2022-02-14 14:12:00 +01:00 |
|
|
173ed5d6c3
|
Add a parsingError() function to Parser.hpp
|
2022-02-14 14:12:00 +01:00 |
|
|
a098973023
|
Throw an exception when a final variable is being redefined, and use types instead of auto in the ParseTree::findReferenceByName() method and when calling it in Parser.hpp
|
2022-02-14 14:12:00 +01:00 |
|
|
3c4586cc70
|
Add "ASTERISK" and "DIVIDE" token types to lex.hpp, and implement comments
|
2022-02-14 14:12:00 +01:00 |
|
|
08661d83a3
|
Add an explicit return type to the nextAre function
|
2022-02-14 14:12:00 +01:00 |
|
|
70466cdb80
|
Demangle the name of components when a GNU/Clang compiler is being used
|
2022-02-14 14:12:00 +01:00 |
|
|
1b9b281dec
|
Heavily modify Target.hpp, add a pointerAs function, and add an overload to Yerbacon::exit
|
2022-02-14 14:11:20 +01:00 |
|
|
88d22e6183
|
Add a "--buildInfo" argument to print the compiler and optimization options used when building
|
2021-10-20 17:08:41 +02:00 |
|
|
0ce02ea77f
|
Remove a useless semicolon in ParseComponents.hpp
|
2021-10-20 13:21:35 +02:00 |
|
|
d9b399881d
|
Use the derived_from concept in the template of the IS(X) macro
|
2021-10-20 13:16:54 +02:00 |
|
|
ec2af24be3
|
Add a [] operator to the ParseTree class
|
2021-10-20 13:16:40 +02:00 |
|
|
429ed02483
|
Don't output useless new lines in main.cpp
|
2021-10-08 13:29:46 +02:00 |
|
|
dc21af192b
|
Make Yerbacon::exit a static function
|
2021-10-07 22:01:23 +02:00 |
|
|
8ab826bf68
|
Move a condition from Target.hpp to main.cpp and add a new Yerbacon::exit function
|
2021-10-07 21:39:48 +02:00 |
|
|
7b1987f81b
|
Throw an exception when instead of calling exit when the "--newlinesoff" argument is used with incompatible targets
|
2021-10-07 21:11:45 +02:00 |
|
|
24d934caf2
|
Use any_of instead of a range-based loop in the Argument::is function
|
2021-10-05 08:45:38 +02:00 |
|
|
58f2d9cba7
|
Remove an extra space in arguments.hpp
|
2021-10-05 08:43:34 +02:00 |
|
|
014680ec95
|
Remove a useless "public" keyword use in arguments.hpp
|
2021-10-03 19:13:48 +02:00 |
|
|
5cea9251bd
|
Return a string_view instead of a string in the ArgumentAssignable::getValueFor function
|
2021-10-03 12:20:59 +02:00 |
|
|
57a01e6c32
|
Remove a redundant public section in Yerbacon::Exception and make the second constructor call the first one
|
2021-10-02 13:33:50 +02:00 |
|
|
f0aeda7c8a
|
Check for missing standard library definitions in Yerbacon.hpp
|
2021-10-02 12:59:33 +02:00 |
|
|
525aa0db88
|
Make a few members of ParseTree private, and make the internal methods protected
|
2021-10-01 18:15:59 +02:00 |
|
|
9a27c0c9c7
|
Don't use the public keyword in NamedIdentifier since it is a structure
|
2021-09-28 07:10:21 +02:00 |
|
|
c696b440e7
|
Fix a memory leak caused by the constness of the exceptionCause string in Yerbacon::Exception
|
2021-09-25 17:37:12 +02:00 |
|
|
659cdf4e80
|
Make tok::LexerException and Parser::ParserException type definitions instead of extending the Yerbacon::Exception class
|
2021-09-25 17:33:28 +02:00 |
|
|
c6ee98e76b
|
Accept the use of "structure" as an alternative to the "class" keyword
|
2021-09-25 16:11:02 +02:00 |
|
|
471a588d37
|
Use a goto statement in the Argument::is function
|
2021-09-23 19:35:55 +02:00 |
|
|
2de8ce3e43
|
Make sure the "==" operator is inline in arguments.hpp
|
2021-09-23 19:03:44 +02:00 |
|
|
6af6c04d5f
|
Remove the unlikely attribute from the '\r' case, and add an EOF token type
|
2021-09-23 13:21:47 +02:00 |
|
|
6ce13be4ca
|
Don't append CMAKE_CXX_COMPILER_ARCHITECTURE_ID to CPACK_SYSTEM_NAME + CPACK_TOPLEVEL_TAG, and remove a few newlines in ParseComponents.hpp
|
2021-09-19 21:37:53 +02:00 |
|
|
1371457a1f
|
Reserve memory before adding elements to parse trees
|
2021-09-19 20:48:08 +02:00 |
|
|
beea9bfadf
|
Make const parse trees actually constant, fix formatting in Target.hpp and classes derived from Target
|
2021-09-19 20:45:57 +02:00 |
|
|
82d733af54
|
Edit the use of convertible_to in Parser.hpp
|
2021-09-18 16:34:01 +02:00 |
|
|
8cb72a9baa
|
Remove a useless condition in Parser.hpp
|
2021-09-18 16:26:29 +02:00 |
|
|
fefa7b05c7
|
Take an initializer_list instead of variadic arguments in the nextAre lambda function
|
2021-09-18 15:32:31 +02:00 |
|
|
500662f5c5
|
Add the isFinalDefine boolean to 1 in Parser.hpp
|
2021-09-15 20:05:23 +02:00 |
|
|
08a038cf82
|
Set the ParsingException cause to another string when no identifier is given to a class, and pass the component's line to the exception
|
2021-09-14 20:43:09 +02:00 |
|
|
02bde3b106
|
Make the "languages" array a constant variable
|
2021-09-13 18:24:01 +02:00 |
|
|
33ee011aed
|
Fix the findById() and findReferenceByName() methods in ParseComponents.hpp since the filter function doesn't actually exist
|
2021-09-12 16:45:30 +02:00 |
|
|
d9913d0c9f
|
Use a type definition in Target.hpp
|
2021-09-12 13:48:34 +02:00 |
|
|
2b84262ea0
|
Use std::filter and std::transform instead of the std::ranges library and make the destructor of the Target class virtual
|
2021-09-12 12:00:21 +02:00 |
|
|
e79a7415de
|
Add an overload to reuse the same characters for the two parameters of Target::stringInterpolation and use an escaped character sequence
|
2021-09-11 13:42:22 +02:00 |
|
|
26421597f2
|
Prohibit the use of --newlinesoff with targets that do not support putting a whole script on one line
|
2021-09-11 13:19:43 +02:00 |
|
|
96bd6bf708
|
Re-add the newlinesoff argument
|
2021-09-11 11:49:57 +02:00 |
|
|
bfa8f50ad9
|
Revert "Add a "SEPARATOR" token type"
This reverts commit 47478173
|
2021-09-11 11:35:22 +02:00 |
|
|
6de05633d9
|
Add a "SEPARATOR" token type
|
2021-09-10 22:15:05 +02:00 |
|
|
37a6c0e047
|
Remove the oldClosingBraceIsFar boolean in Target.hpp
|
2021-09-02 10:35:53 +02:00 |
|
|
76c8975e27
|
Use a reference in the Argument "==" operator, and move the currentArg variable of main.cpp into the loop used for arguments
|
2021-09-02 10:34:00 +02:00 |
|
|
d6642f9ae5
|
Make getId() a constexpr function and use arrow syntax to call it in Target.hpp instead of dereferencing a pointer
|
2021-09-02 10:08:10 +02:00 |
|
|
b5697bf0a8
|
Take the remaining characters of a string instead of taking none in a condition of the stringInterpolation() function from Target.hpp
|
2021-09-01 19:31:04 +02:00 |
|
|
afc59c7a22
|
Don't find occurrences when closing characters are not found in Target.hpp, make the interpolation strings static const variables and fix typos
|
2021-08-31 15:19:44 +02:00 |
|
|
bc2f6938e3
|
Use negation in the multiline boolean of Target.hpp
|
2021-08-31 14:47:13 +02:00 |
|
|
e92b3cf12f
|
Fix an extra space being added in the stringInterpolation() function of Target.hpp
|
2021-08-28 23:25:16 +02:00 |
|
|
c186f30eef
|
Merge the noMultiline boolean into multiline in Target.hpp
|
2021-08-28 11:14:08 +02:00 |
|
|
2dba7fbda6
|
Add experimental string transpilation with interpolation
|
2021-08-28 10:59:24 +02:00 |
|
|
1992e1d42b
|
Add transpilation of strings to lua-compatible ones, and fix a comment
|
2021-08-24 17:23:31 +02:00 |
|
|
5d4be1039d
|
Add a new variadic lambda in Parser.hpp to check the types of tokens
|
2021-08-23 14:58:46 +02:00 |
|
|
079d99e08a
|
Remove the parameter of Target.get(), add it to Target as a property and rename Target.get() to Target.on()
|
2021-08-23 12:49:22 +02:00 |
|
|
664a6a92be
|
Begin adding transpilation of basic elements
|
2021-08-22 23:57:18 +02:00 |
|
|
729e04161f
|
Make fileName a reference in a loop of main.cpp, and use findReferencesById() instead of findById() in ParseComponents.hpp
|
2021-08-20 00:08:51 +02:00 |
|
|
2e9e063d71
|
Use smart pointers instead of raw pointers in ParseComponents.hpp, remove an unused dependency in main.cpp and capture fileName by value in main.cpp to avoid using its reference after the current scope
|
2021-08-19 23:55:55 +02:00 |
|
|
fd6ce35291
|
Add line numbers to Yerbacon::Exception
|
2021-08-18 19:31:02 +02:00 |
|
|
989650dba6
|
Catch exceptions in the main function
|
2021-08-18 18:59:46 +02:00 |
|
|
a3cdf22000
|
Inline the << operator in ParseComponents.hpp
|
2021-08-14 10:45:13 +02:00 |
|
|
5c3eecd560
|
Undefine YBCON_VERSION in Yerbacon.hpp
|
2021-08-10 15:48:26 +02:00 |
|
|
e9ce6362af
|
Add a DOT token to lex.hpp, and only use the enum characters.
|
2021-08-10 13:54:50 +02:00 |
|
|
3b991da962
|
Require Clang 13.0+ in the CMakeLists.txt file, import the tok::type enumeration in lexer.cpp + Parser.hpp, and add [[likely]] attributes to 2 branches of the switch case in lexer.cpp.
|
2021-08-09 10:58:11 +02:00 |
|
|
3c703e55b5
|
Rename the findByName method to findReferenceByName, and add a findReferencesById method.
|
2021-08-08 23:44:42 +02:00 |
|
|
9871cc66c7
|
Add a Reference structure to the StandardComponents namespace.
|
2021-08-08 22:53:29 +02:00 |
|
|
43136672bd
|
Remove the ParseComponents constructor declaration and make NamedIdentifier.name a const variable again
|
2021-08-08 22:51:49 +02:00 |
|
|
e8b2f90263
|
Return pointers in PareTree.findById() and return references in ParseTree.findByName().
|
2021-08-08 16:23:46 +02:00 |
|
|
dd223026a0
|
Fix the findByName function.
|
2021-08-08 14:59:47 +02:00 |
|