Commit Graph

309 Commits

Author SHA1 Message Date
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
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
Username404-59 af729c527b
Fix the previous commit by adding an outputFile string. 2021-06-10 17:27:50 +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 697af646d3
Fix the loop of validLanguage iterating too much. 2021-04-26 13:05:30 +02:00
Username404-59 75fd1d93d4
Make the languages variable a constant containing string_view instances, and use shorter numbers in the LANGUAGE enum. 2021-04-26 12:36:11 +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 e356ceab0c
Use a static cast in the main function. 2021-04-24 18:23:37 +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 a8b2f77dd6
Use a pre-increment in a for loop of MainTranspile.cpp. 2021-04-24 17:21:30 +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-59 b37250492a
Don't ask to run as administrator in filefuncs.cpp. 2021-03-30 18:29:40 +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 ad7075db7e
Call exit() when the file(s) passed as argument(s) can't be opened. 2021-03-26 13:23:13 +01:00
Username404-59 76cd97715f
Add the "--target=" parameter to the shell command. 2021-03-25 21:33:42 +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
Username404 29f0fafe31
Make the subComponents vector mutable, make some functions const and add private methods to ParseTree to make creation of const objects possible. 2021-03-18 14:07:23 +01:00
Username404 28175f2d96
Add a new constructor to ParseTree, and make the compCount variable mutable. 2021-03-18 14:04:57 +01:00
Username404-59 f32f8abc5c
Remove useless comments in the beginning of each C++ file. 2021-03-17 13:00:22 +01:00
Username404 1b3c135b03
Fix the include path in MainTranspile.cpp. 2021-03-13 19:57:32 +01:00
Username404-59 80510909f1
Add a StandardComponents.hpp file. 2021-03-06 22:00:07 +01:00
Username404-59 8772be9d5c
Use a switch-case expression instead of an if statement in lexer.cpp. 2021-03-06 13:38:26 +01:00
Username404-59 d3d951d843
Revert "Simplify a if statement in lexer.cpp."
This reverts commit 42796ac54ccac44c8a2033ea39635ba44284c5d7.
2021-03-06 13:27:02 +01:00
Username404-59 c02f8bcc1a
Simplify a if statement in lexer.cpp. 2021-03-06 13:24:08 +01:00
Username404-59 11b92f7346
Make the argument of parseString a const reference. 2021-03-05 14:41:46 +01:00
Username404-59 2fe59c9c43
Update ParseCompnents.hpp. 2021-03-05 11:34:02 +01:00
Username404-59 24195f9a6c
Return a reference with the ParseTree::getComponents() method. 2021-03-04 15:59:06 +01:00
Username404-59 5972f0ef4c
Add a (definetly incomplete) ParseComponents.hpp file and move the extern declarations of main.cpp to misc.hpp. 2021-03-04 11:18:11 +01:00
Username404-59 6d2c23bb39
Add a misc.hpp file. 2021-03-03 19:47:25 +01:00
Username404-59 4d8f09ee68
Use the right installation directories. 2021-03-03 13:24:16 +01:00
Username404-59 d42c0d4293
Lex identifiers and numbers instead of just strings, and use isdigit instead of isalphanum in lexer.cpp. 2021-03-02 21:51:59 +01:00
Username404-59 179d3813ab
Modify src/main.cpp a bit. 2021-03-02 12:22:56 +01:00
Username404-59 a427010099
Complete scripts/fish-completion.fish, improve scripts/ybcon.sh and add a --version argument. 2021-02-26 20:28:53 +01:00
Username404-59 086649a5cd
Add a default value to the selected variable in MainTranspile.cpp. 2021-02-26 18:49:10 +01:00
Username404-59 ad2fcfd746
Add stack protection flags in the CMakeLists.txt file (only for the GNU and Clang compilers). 2021-02-26 18:05:22 +01:00
Username404-59 fe8be54005
Improve scripts/bash-completion.sh and the command line arguments a bit. 2021-02-26 12:32:43 +01:00
Username404-59 69a50e1e79
Add a postinstall script for the linux packages, permit the use of -p instead of -printresult for the ybcon arguments, and change the installation directory to /opt/bin. 2021-02-25 17:59:18 +01:00
Username404-59 ea0f3ac037
Add another TODO in lexer.cpp. 2021-02-23 15:07:08 +01:00
Username404-59 45cbe5b9e2
Lex the entire strings. 2021-02-22 19:42:20 +01:00
Username404-59 66dcac958c
Fix indentation in a part of the getFileContent() function from filefuncs.cpp. 2021-02-19 16:00:30 +01:00
Username404-59 f0e82fcc0b
Make languages[3] a constant. 2021-02-19 15:59:14 +01:00
Username404-59 618d2bab60
Don't make a new string variable in the validLanguage() function of MainTranspile.cpp. 2021-02-19 15:56:21 +01:00
Username404-59 ea173db8f9
Save a few lines in filefuncs.cpp. 2021-02-19 15:49:57 +01:00
git 32e55aa035
Move "[WIP]" out of the main part of the outputted string. 2021-02-12 22:44:41 +01:00
username404 34c3cfb041
Hidden git history due to a license change. 2021-02-12 15:07:03 +01:00
username404 42215fb3e6
Initial commit 2020-12-11 22:24:44 +01:00