Commit Graph

161 Commits

Author SHA1 Message Date
Username404 02e8de7243
Show an error when an invalid argument is provided 2021-09-28 21:34:22 +02:00
Username404-59 9a27c0c9c7
Don't use the public keyword in NamedIdentifier since it is a structure 2021-09-28 07:10:21 +02:00
Username404 c7981b9948
Throw an exception in filefuncs.cpp when a file is not found 2021-09-26 12:42:01 +02:00
Username404 43b4629a6d
Fix the pairs returned by the futures of the Units set 2021-09-26 12:38:33 +02:00
Username404 700ab109d2
Make a set of files directly instead of adding them to a vector in main.cpp 2021-09-26 12:37:46 +02:00
Username404 477337f96b
Remove a condition which has been useless since the e6334ad8 commit in main.cpp 2021-09-25 22:08:55 +02:00
Username404 c696b440e7
Fix a memory leak caused by the constness of the exceptionCause string in Yerbacon::Exception 2021-09-25 17:37:12 +02:00
Username404 659cdf4e80
Make tok::LexerException and Parser::ParserException type definitions instead of extending the Yerbacon::Exception class 2021-09-25 17:33:28 +02:00
Username404 facf460923
Improve the lambda used to return the compilation result in main.cpp 2021-09-25 17:26:45 +02:00
Username404 66e1926783
Use the max function in main.cpp 2021-09-25 17:03:55 +02:00
Username404 3cddc7907e
Decrement the line number before creating an EOF token 2021-09-25 16:28:03 +02:00
Username404 c6ee98e76b
Accept the use of "structure" as an alternative to the "class" keyword 2021-09-25 16:11:02 +02:00
Username404 471a588d37
Use a goto statement in the Argument::is function 2021-09-23 19:35:55 +02:00
Username404 2de8ce3e43
Make sure the "==" operator is inline in arguments.hpp 2021-09-23 19:03:44 +02:00
Username404-59 fa9dacc23c
Fix a memory leak when iterating on characters in lexer.cpp 2021-09-23 17:53:05 +02:00
Username404-59 6af6c04d5f
Remove the unlikely attribute from the '\r' case, and add an EOF token type 2021-09-23 13:21:47 +02:00
Username404 82520e63ba
Handle the "--version" argument when iterating on argc 2021-09-21 21:45:31 +02:00
Username404 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
Username404 1371457a1f
Reserve memory before adding elements to parse trees 2021-09-19 20:48:08 +02:00
Username404 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
Username404 82d733af54
Edit the use of convertible_to in Parser.hpp 2021-09-18 16:34:01 +02:00
Username404 8cb72a9baa
Remove a useless condition in Parser.hpp 2021-09-18 16:26:29 +02:00
Username404 fefa7b05c7
Take an initializer_list instead of variadic arguments in the nextAre lambda function 2021-09-18 15:32:31 +02:00
Username404 500662f5c5
Add the isFinalDefine boolean to 1 in Parser.hpp 2021-09-15 20:05:23 +02:00
Username404 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
Username404 95d6b2239a
Append characters directly instead of creating a new string in the default case of lexer.cpp 2021-09-14 20:22:42 +02:00
Username404 44e160ebf9
Don't throw an exception when "isTypeString" is false in lexer.cpp 2021-09-14 20:20:34 +02:00
Username404 02bde3b106
Make the "languages" array a constant variable 2021-09-13 18:24:01 +02:00
Username404 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
Username404 d9913d0c9f
Use a type definition in Target.hpp 2021-09-12 13:48:34 +02:00
Username404 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
Username404 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
Username404 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
Username404 96bd6bf708
Re-add the newlinesoff argument 2021-09-11 11:49:57 +02:00
Username404 bfa8f50ad9
Revert "Add a "SEPARATOR" token type"
This reverts commit 47478173
2021-09-11 11:35:22 +02:00
Username404 84b9f9de73
Add the [[unlikely]] attribute to the '\r' case in lexer.cpp 2021-09-10 22:20:41 +02:00
Username404 6de05633d9
Add a "SEPARATOR" token type 2021-09-10 22:15:05 +02:00
Username404 37a6c0e047
Remove the oldClosingBraceIsFar boolean in Target.hpp 2021-09-02 10:35:53 +02:00
Username404 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
Username404 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
Username404 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
Username404 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
Username404 bc2f6938e3
Use negation in the multiline boolean of Target.hpp 2021-08-31 14:47:13 +02:00
Username404 e92b3cf12f
Fix an extra space being added in the stringInterpolation() function of Target.hpp 2021-08-28 23:25:16 +02:00
Username404 c186f30eef
Merge the noMultiline boolean into multiline in Target.hpp 2021-08-28 11:14:08 +02:00
Username404 2dba7fbda6
Add experimental string transpilation with interpolation 2021-08-28 10:59:24 +02:00
Username404-59 1992e1d42b
Add transpilation of strings to lua-compatible ones, and fix a comment 2021-08-24 17:23:31 +02:00
Username404 5d4be1039d
Add a new variadic lambda in Parser.hpp to check the types of tokens 2021-08-23 14:58:46 +02:00
Username404 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
Username404 664a6a92be
Begin adding transpilation of basic elements 2021-08-22 23:57:18 +02:00