Commit Graph

103 Commits

Author SHA1 Message Date
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
Username404-59 db14d469bd
Ad a warning in Yerbacon.hpp that shows up when YBCON_VERSION isn't already defined. 2021-07-07 20:06:18 +02:00
Username404-59 b7eb32c636
Handle token vectors with less than 2 values in the Parser::parseVector() method. 2021-07-07 17:40:04 +02:00
Username404-59 de24219fca
Define the two reference variables in one line in the loop of Parser.hpp. 2021-07-06 20:57:20 +02:00
Username404-59 b82faeb399
Substract 1 to the lexed vector's size in Parser.hpp to avoid getting out of bounds because of the next reference. 2021-07-06 20:49:28 +02:00
Username404-59 07ca24c610
Move the YBCON_VERSION redefinition to Yerbacon.hpp. 2021-07-06 17:29:26 +02:00
Username404-59 3359dc7649
Add a Yerbacon header (+ namespace) and move the getVersion function into it. 2021-07-06 15:43:52 +02:00
Username404-59 a222e8a165
Fix the characters placed next to identifiers/numbers being skipped in lexer.cpp. 2021-07-06 14:44:09 +02:00
Username404-59 46a3964596
Don't include the thread header in main.cpp 2021-07-06 12:26:17 +02:00
Username404-59 87de5ca3f4
Use the deferred policy when --parallel isn't present. 2021-07-06 12:25:13 +02:00
Username404-59 61946b891f
Use futures instead of threads to get better console output 2021-07-06 12:07:35 +02:00
Username404-59 314cff7f49
Add a --parallel argument to enable multithreading. 2021-07-06 11:37:43 +02:00
Username404-59 74a7a5f2f7
Simplify a condition in lexer.cpp 2021-07-06 10:15:30 +02:00
Username404-59 e8c633d545
Save 13 lines in lexer.cpp and remove the longlex boolean variable. 2021-07-06 10:12:37 +02:00
Username404 9d36279f95
Remove the useless object copy in Parser.hpp. 2021-07-03 22:59:03 +02:00
Username404 f308ad9da0
Remove the "previous" reference in Parser.hpp and start the iteration on lexed tokens at 0 instead of 1. 2021-07-03 22:32:45 +02:00
Username404 3ce905d602
Remove a few useless newlines in header files 2021-07-03 21:57:02 +02:00
Username404 077f95b36b
Begin the parser 2021-07-03 21:54:12 +02:00
Username404 995684799d
Replace Targets.hpp with Target.hpp and add language-specific headers 2021-07-03 11:11:36 +02:00
Username404 5de2a28f93
Add a Targets.hpp file and shorten MainTranspile.cpp. 2021-06-25 20:58:23 +02:00
Username404 9f5a6c1631
Remove a useless goto statement in main.cpp. 2021-06-14 17:41:48 +02:00
Username404-59 78cf850533
Fix the "No valid file provided." sentence that was not being printed. 2021-06-11 13:25:16 +02:00
Username404 a9d137fab6
Use the assign operator for a few variables in main.cpp. 2021-06-10 21:58:08 +02:00