85a3582612
Parser.hpp: Add basic parsing of if/elseif/else statements
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2023-08-06 19:49:35 +02:00
164e5c5da3
Parser.hpp: Fix an indentation mistake
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2023-08-04 16:45:10 +02:00
fe5de82208
Parser.hpp: Parse all references instead of properties only
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2023-06-21 16:57:54 +02:00
e20e7dabdc
Parser.hpp: Add a TODO comment
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2023-05-07 21:58:04 +02:00
23f24e55b1
Parser.hpp: Fix a segmentation fault happening when parseTree is empty
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-08-28 10:51:56 +02:00
8e74bff30b
Parser.hpp: Fix a tiny typo at line 154
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-08-20 13:45:32 +02:00
4795bd54a0
Parser.hpp: Replace the try-catch statement at line 152 with a condition since this seems to fix bad_cast not being caught when running a windows executable which has been compressed using upx
...
CMakeLists.txt: Revert the 89888113
commit and don't check CMAKE_CXX_LINK_NO_PIE_SUPPORTED when mingw is in use
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-08-20 13:35:01 +02:00
4fa72c0459
Parser.hpp: Parse properties and methods
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-16 12:36:48 +02:00
bd48d270be
Parser.hpp: Make sure the T typename propagates to the function call in the parse overload
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-08 11:06:35 +02:00
4e08c0cf05
Implement reserved identifiers
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-06 15:35:21 +02:00
7ebf0ab5a4
Parser.hpp: Shorten two "if" statements
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-26 13:33:16 +02:00
46a09217fe
Parser.hpp: Prevent the reuse of identifiers
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-26 13:32:48 +02:00
a8e514d67f
Parser.hpp: Prevent the redefinition of functions
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-26 12:09:01 +02:00
b63bf0d480
Parser.hpp: Remove an unused closingCharacter capture
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-24 01:09:33 +02:00
51b5a546c7
Parser.hpp: Remove a useless condition in the filter_comma_list function
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-23 01:07:56 +02:00
c0f7b4cc22
Parser.hpp: Change the parameters of the filter_comma_list overload to two input iterators
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-22 13:07:42 +02:00
d3b05461cb
Parser.hpp: Stop the loop in the filter_comma_list function when the current iterator points to a COMMA token
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-22 13:00:08 +02:00
21ab59fc6d
Parser.hpp: Add a "filter_comma_list" function to fix commas in parameters or arguments lists
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-22 01:04:10 +02:00
0d12f7eceb
Parser.hpp: Replace ';' with SEMICOLON
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:41:34 +02:00
7df47da354
Fix the parsing of ParseTree to ignore previous parsed instances
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:11 +02:00
014ea9060b
ParserComponents.hpp: Add a "<<" operator overload (which takes a constant string reference as its argument) to the ParseTree class
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:11 +02:00
e32b2172e5
Use deca::num in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:10 +02:00
3c4dc0ea28
Remove a useless break statement in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:10 +02:00
5d2b630ec6
Remove a TODO comment in Parser.hpp
...
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
5a96757942
Always throw an error when an unexpected expression is found in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:10 +02:00
d059d1e507
Throw the "Unexpected character" error for all unrecognized characters in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:10 +02:00
27c8b642d6
Check if i is equal to zero instead of checking whether it is greater, since i is unsigned in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:09 +02:00
2b596e691c
Rename the "it" local variable to "closing" in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-08 12:46:56 +02:00
14b71906b7
Add a SEMICOLON token
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-08 11:01:16 +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
db0ada09f6
Use powl instead of pow in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 15:52:09 +01:00
ce8e21ee25
Include cmath in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 15:37:13 +01:00
8a97def6b2
Add integer parsing
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 13:40:18 +01:00
adbe98ec00
Increment i after finding the end iterator when parsing variables
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 13:40:03 +01:00
01abadc1fa
Use cmp_less instead of cmp_greater in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-19 16:28:59 +01:00
bee9917947
Use LPAR instead of a character in a condition of Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-17 15:49:03 +01:00
272323d091
Add two local variables to Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-17 15:47:03 +01:00
1f819bc136
When parsing a function call, invoke parse without specialization since the "=" operator needs a ParseTree
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 22:35:18 +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
2425d19f9f
Add a Parser::parse overload which takes input iterators as arguments
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-09 20:48:57 +01:00
8e7aaadbd0
Rename parseVector to parse in Parser.hpp, and make the parameter a span instead of a vector
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-09 19:31:30 +01:00
cca696b27a
Fix the line number of next in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-04 19:31:28 +01:00
9d7300ce89
Fix errors by removing the isNotBlank boolean and using hasNext instead
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-04 19:19:13 +01:00
6955c5cb4d
Remove tok::type::EOF_ because it is useless, and fix the next
local constant reference in Parser.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-01 20:14:47 +01:00
ec4121de1c
Fix parsing of parentheses by searching after the current index
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 16:03:34 +01:00
de2259b6ed
Add a "inverseLCharacter" static function to tok
...
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
f33aec687a
Parse Calls/ParseTrees
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
158021cf68
Fix the indentation of a line modified by the previous commit
2022-02-14 14:12:00 +01:00