Commit Graph

35 Commits

Author SHA1 Message Date
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
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
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
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
b7eb32c636
Handle token vectors with less than 2 values in the Parser::parseVector() method. 2021-07-07 17:40:04 +02:00
de24219fca
Define the two reference variables in one line in the loop of Parser.hpp. 2021-07-06 20:57:20 +02:00
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
9d36279f95
Remove the useless object copy in Parser.hpp. 2021-07-03 22:59:03 +02:00
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
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
937d393aa5
Remove StandardComponents.hpp. 2021-04-25 16:02:28 +02:00
829e53080c
Add a default constructor to a struct in StandardComponents.hpp. 2021-04-01 19:22:18 +02:00
Username404
32a9c2b0d1
Make the "<<" operator call the right function in the ParseTree class. 2021-03-27 11:13:11 +01:00
810c94752f
Remove a useless "this" in ParseComponents.hpp. 2021-03-25 21:18:48 +01:00
1413124530
Rename the comp namespace to StdComponents. 2021-03-20 10:38:33 +01:00
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
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
28175f2d96
Add a new constructor to ParseTree, and make the compCount variable mutable. 2021-03-18 14:04:57 +01:00
f32f8abc5c
Remove useless comments in the beginning of each C++ file. 2021-03-17 13:00:22 +01:00
80510909f1
Add a StandardComponents.hpp file. 2021-03-06 22:00:07 +01:00