Commit Graph

61 Commits

Author SHA1 Message Date
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 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 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 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 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 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-59 c5d33fd480
Add support for multiple input files 2021-06-10 16:29:54 +02:00
Username404-59 a75cbeb129
Remove useless inlined functions in ParseComponents.hpp 2021-06-10 13:47:07 +02:00
Username404-59 76e168fe58
Add a namespace to ParseComponents.hpp. 2021-04-25 16:13:17 +02:00
Username404-59 937d393aa5
Remove StandardComponents.hpp. 2021-04-25 16:02:28 +02:00
Username404 85c155fc3b
Remove a parameter from the setOutputFileContent function and remove a variable in the main function. 2021-04-24 17:58:12 +02:00
Username404-59 829e53080c
Add a default constructor to a struct in StandardComponents.hpp. 2021-04-01 19:22:18 +02:00
Username404-59 9ade88b6aa
Make the lex function return a value instead of a reference. 2021-04-01 16:20:14 +02:00
Username404-59 c190e308f8
Remove separator tokens, and move a boolean variable. 2021-04-01 15:32:31 +02:00
Username404 32a9c2b0d1
Make the "<<" operator call the right function in the ParseTree class. 2021-03-27 11:13:11 +01:00
Username404-59 810c94752f
Remove a useless "this" in ParseComponents.hpp. 2021-03-25 21:18:48 +01:00
Username404-59 9869f73e35
Use a reference as the parseString function's parameter instead of a unuseful pointer. 2021-03-25 21:15:21 +01:00
Username404-59 1413124530
Rename the comp namespace to StdComponents. 2021-03-20 10:38:33 +01:00
Username404-59 60f88896a4
Replace an #include directive in src/headers/lex.hpp. 2021-03-19 13:53:53 +01:00
Username404-59 c362f422cd
Don't return a reference in the getCompCount method. 2021-03-19 13:16:35 +01:00
Username404 38eea2c73d
Complete the addAll method. 2021-03-18 21:22:41 +01:00