Commit Graph

119 Commits

Author SHA1 Message Date
b6273e0d62
Add an explicit return type to the nextAre function 2021-11-09 20:26:54 +01:00
ac12773e6c
Demangle the name of components when a GNU/Clang compiler is being used 2021-10-29 00:10:49 +02:00
c123965098
Heavily modify Target.hpp, add a pointerAs function, and add an overload to Yerbacon::exit 2021-10-28 22:26:08 +02: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