Commit Graph

108 Commits

Author SHA1 Message Date
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