|
663979ea65
|
Fix allocation of more memory in the ParseTree.addAllComponents function
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-04-21 23:31:10 +02:00 |
|
|
e9d7c27d4f
|
Simplify parsing of functions/calls/classes and remove the Class.body variable
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-04-21 23:31:10 +02:00 |
|
|
453025b18c
|
Add an "empty" function to the ParseTree class
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-04-21 23:31:10 +02:00 |
|
|
88d0774d30
|
Fix the precision of StandardComponents::types::Integer
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-03-22 18:17:58 +01:00 |
|
|
8a97def6b2
|
Add integer parsing
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-03-22 13:40:18 +01:00 |
|
|
5f3c8d785d
|
Use to_address instead of the unique_ptr::get function in ParseTree::findById
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-03-17 16:44:04 +01:00 |
|
|
f3d03adead
|
Add functions, indentation, better variables parsing and more
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-03-13 15:15:29 +01:00 |
|
|
de2d936e19
|
Use dynamic_cast instead of reinterpret_cast in Target.hpp and ParseComponents.hpp, and extend the ParseComponent class virtually in the ParseTree and NamedIdentifier classes
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
68dc7ea1a1
|
Make Parser::parseVector a function template
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
c4f75a3b04
|
Make the constexpr ParseTree constructors inline instead
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
0b3109c989
|
Add a move assignment operator to ParseTree
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
a45902c9b2
|
Add an "at" function to ParseTree
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
1a37e35228
|
Add a component_ptr type definition to ParseComponents.hpp
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
f33aec687a
|
Parse Calls/ParseTrees
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
b5ff43e109
|
Remove a useless constructor in the ParseTree class
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
|
2022-02-14 14:12:00 +01:00 |
|
|
ae2a661427
|
Remove the useless nested structure in StandardComponents::Class
|
2022-02-14 14:12:00 +01:00 |
|
|
e720ff0f2d
|
Add an error message when an exception is thrown from the getFileContent() function & --parallel is not in use, and support MSVC
|
2022-02-14 14:12:00 +01:00 |
|
|
a098973023
|
Throw an exception when a final variable is being redefined, and use types instead of auto in the ParseTree::findReferenceByName() method and when calling it in Parser.hpp
|
2022-02-14 14:12:00 +01:00 |
|
|
1b9b281dec
|
Heavily modify Target.hpp, add a pointerAs function, and add an overload to Yerbacon::exit
|
2022-02-14 14:11:20 +01:00 |
|
|
0ce02ea77f
|
Remove a useless semicolon in ParseComponents.hpp
|
2021-10-20 13:21:35 +02:00 |
|
|
d9b399881d
|
Use the derived_from concept in the template of the IS(X) macro
|
2021-10-20 13:16:54 +02:00 |
|
|
ec2af24be3
|
Add a [] operator to the ParseTree class
|
2021-10-20 13:16:40 +02:00 |
|
|
525aa0db88
|
Make a few members of ParseTree private, and make the internal methods protected
|
2021-10-01 18:15:59 +02:00 |
|
|
9a27c0c9c7
|
Don't use the public keyword in NamedIdentifier since it is a structure
|
2021-09-28 07:10:21 +02:00 |
|
|
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 |
|
|
1371457a1f
|
Reserve memory before adding elements to parse trees
|
2021-09-19 20:48:08 +02:00 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
1992e1d42b
|
Add transpilation of strings to lua-compatible ones, and fix a comment
|
2021-08-24 17:23:31 +02:00 |
|
|
664a6a92be
|
Begin adding transpilation of basic elements
|
2021-08-22 23:57:18 +02:00 |
|
|
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 |
|
|
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 |
|
|
a3cdf22000
|
Inline the << operator in ParseComponents.hpp
|
2021-08-14 10:45:13 +02:00 |
|
|
3c703e55b5
|
Rename the findByName method to findReferenceByName, and add a findReferencesById method.
|
2021-08-08 23:44:42 +02:00 |
|
|
9871cc66c7
|
Add a Reference structure to the StandardComponents namespace.
|
2021-08-08 22:53:29 +02:00 |
|
|
43136672bd
|
Remove the ParseComponents constructor declaration and make NamedIdentifier.name a const variable again
|
2021-08-08 22:51:49 +02:00 |
|
|
e8b2f90263
|
Return pointers in PareTree.findById() and return references in ParseTree.findByName().
|
2021-08-08 16:23:46 +02:00 |
|
|
dd223026a0
|
Fix the findByName function.
|
2021-08-08 14:59:47 +02:00 |
|
|
fa546865a0
|
Use runtime type information in ParseComponents.hpp.
|
2021-08-08 14:38:21 +02:00 |
|
|
c23d88e0eb
|
Add a return type to the ParseTree "<<" operator.
|
2021-08-07 13:33:13 +02:00 |
|
|
e3804aa342
|
Make the class names constant in ParseComponents.hpp.
|
2021-08-01 13:02:57 +02:00 |
|
|
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 |
|
|
905e7e7e82
|
Add lexing and parsing exceptions and parse = and #=
|
2021-07-29 17:35:35 +02:00 |
|
|
3ce905d602
|
Remove a few useless newlines in header files
|
2021-07-03 21:57:02 +02:00 |
|
|
077f95b36b
|
Begin the parser
|
2021-07-03 21:54:12 +02:00 |
|
|
a75cbeb129
|
Remove useless inlined functions in ParseComponents.hpp
|
2021-06-10 13:47:07 +02:00 |
|
|
76e168fe58
|
Add a namespace to ParseComponents.hpp.
|
2021-04-25 16:13:17 +02:00 |
|
Username404
|
32a9c2b0d1
|
Make the "<<" operator call the right function in the ParseTree class.
|
2021-03-27 11:13:11 +01:00 |
|