Commit Graph

82 Commits

Author SHA1 Message Date
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