Commit Graph

125 Commits

Author SHA1 Message Date
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
Username404 8c63f1ae8b
Capture fileName by reference since it is now one, and give a type to currentFuture 2021-08-20 10:41:09 +02:00
Username404-59 fdb8579941
Fix a typo from the previous commit 2021-08-20 01:42:43 +02:00
Username404-59 845794a922
Prevent the compilation output from being printed when printResult is false 2021-08-20 01:34:29 +02:00
Username404 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
Username404 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
Username404 66af9b9e2b
Update a multi-line comment in lexer.cpp 2021-08-18 19:36:30 +02:00
Username404 fd6ce35291
Add line numbers to Yerbacon::Exception 2021-08-18 19:31:02 +02:00
Username404 989650dba6
Catch exceptions in the main function 2021-08-18 18:59:46 +02:00
Username404 a3cdf22000
Inline the `<<` operator in ParseComponents.hpp 2021-08-14 10:45:13 +02:00
Username404 5c3eecd560
Undefine YBCON_VERSION in Yerbacon.hpp 2021-08-10 15:48:26 +02:00
Username404 e8916cf40f
Move the UNEXPECTED case in lexer.cpp 2021-08-10 14:55:28 +02:00
Username404 f4297fe851
Use STRING directly in the getIdentifierCharType() function. 2021-08-10 14:01:20 +02:00
Username404 e9ce6362af
Add a DOT token to lex.hpp, and only use the enum characters. 2021-08-10 13:54:50 +02:00
Username404 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
Username404 3c703e55b5
Rename the findByName method to findReferenceByName, and add a findReferencesById method. 2021-08-08 23:44:42 +02:00
Username404 9871cc66c7
Add a Reference structure to the StandardComponents namespace. 2021-08-08 22:53:29 +02:00
Username404 43136672bd
Remove the ParseComponents constructor declaration and make NamedIdentifier.name a const variable again 2021-08-08 22:51:49 +02:00
Username404 e8b2f90263
Return pointers in PareTree.findById() and return references in ParseTree.findByName(). 2021-08-08 16:23:46 +02:00
Username404 dd223026a0
Fix the findByName function. 2021-08-08 14:59:47 +02:00
Username404 fa546865a0
Use runtime type information in ParseComponents.hpp. 2021-08-08 14:38:21 +02:00
Username404 c23d88e0eb
Add a return type to the ParseTree "<<" operator. 2021-08-07 13:33:13 +02:00
Username404 2a5df0bb32
Put the #ifdef directives before the case statements in Target.hpp to avoid issues. 2021-08-07 11:41:04 +02:00
Username404 2f853fe797
Add unsigned short values to the tok::type enum and move the parseString function to misc.hpp. 2021-08-06 19:12:28 +02:00
Username404 fbe8e189d3
Reuse a lambda in main.cpp. 2021-08-06 11:58:43 +02:00
Username404 604532dc34
Make the Policy local variable a reference in main.cpp, remove a useless #include directive and include Yerbacon.hpp before future. 2021-08-06 11:45:16 +02:00
Username404 328a073d50
Add a "dollar sign" token to lex.hpp and use it in lexer.cpp 2021-08-05 00:03:50 +02:00
Username404 e3804aa342
Make the class names constant in ParseComponents.hpp. 2021-08-01 13:02:57 +02:00
Username404 34777acc74
Rename the variable containing the name of classes in StandardComponents::Class, nest the Constructor structure in it and remove StandardComponents::ClassBody. 2021-07-31 21:17:57 +02:00
Username404 4512909b23
Don't break in the ADDTARGET macro of Target.hpp, and define class names of Py.hpp, Lua.hpp and Js.hpp to use them in Target.hpp. 2021-07-31 18:56:17 +02:00
Username404 ac195d413b
Undefine the ADDTARGET macro after the switch statement in Target.hpp 2021-07-31 18:38:57 +02:00
Username404 bf5ca80c4d
Add a Macro to Target.hpp and check for a std::threads implementation in Yerbacon.hpp. 2021-07-31 16:47:00 +02:00
Username404 905e7e7e82
Add lexing and parsing exceptions and parse = and #= 2021-07-29 17:35:35 +02:00
Username404 8598509f0b
Revert "Handle duplicated --printresult arguments."
This reverts commit 25b50d1c
2021-07-11 15:44:30 +02:00
Username404 3265e5f374
Remove transpile() from the misc.hpp header 2021-07-10 11:05:14 +02:00
Username404 1bfb4cb54b
Add arguments.hpp, remove a few useless files, and add a library target to the CMakeLists.txt file. 2021-07-10 11:03:15 +02:00
Username404-59 6c62ee9f1a
Handle duplicated --printresult arguments. 2021-07-08 16:40:47 +02:00