Commit graph

41 commits

Author SHA1 Message Date
IlyaShurupov
cf3f8dbc9c new object creation interface 2024-11-24 22:41:14 +03:00
IlyaShurupov
ca1ae75b07 fix typos 2024-11-24 22:41:14 +03:00
IlyaShurupov
9e2e7f5809 remove macros use in objects mofule 2024-11-24 22:41:14 +03:00
IlyaShurupov
c6260f7c48 fix warnings 2024-11-24 22:41:14 +03:00
IlyaShurupov
f8c82b7e29 clean up object module 2024-11-24 22:41:14 +03:00
IlyaShurupov
e78885d452 dont use NULL macro 2024-11-24 22:41:14 +03:00
IlyaShurupov
9d01ba2c8a Apply cpp naming to files 2024-11-24 22:41:14 +03:00
IlyaShurupov
89eec0e329 remove objects readme 2024-11-24 22:41:14 +03:00
IlyaShurupov
1756ca026d RIP tp::Strings 2024-11-24 22:41:14 +03:00
IlyaShurupov
fa2d0aaa92 see ya later allocator 2024-11-24 22:41:14 +03:00
IlyaShurupov
bfbdd0e33b osg stable 2024-11-24 22:41:14 +03:00
IlyaShurupov
25fd52294f tmp 2024-11-24 22:41:14 +03:00
Ilusha
69a17a609e tmp 2024-11-24 22:41:13 +03:00
Ilusha
5c7ee99d43 tmp 2024-11-24 22:41:13 +03:00
Ilusha
b56829ea26 tmp 2024-11-24 22:41:13 +03:00
Ilusha
0b3f780ec7 tmp 2024-11-24 22:41:13 +03:00
Ilusha
0494bf05af add parser chech for precedence in arithmetic expressions 2024-11-24 22:41:13 +03:00
Ilusha
8cc5f2f9f7 Fixing lalr on windows 2024-11-24 22:41:13 +03:00
Ilusha
93266715c0 Edit todo and status texts 2024-11-24 22:41:13 +03:00
Ilusha
3eadb0d726 stable 2024-11-24 22:41:13 +03:00
IlyaShurupov
6c92be58cd tmp 2024-11-24 22:41:13 +03:00
IlyaShurupov
2484ea9d9c parser error handling 2024-11-24 22:41:13 +03:00
IlyaShurupov
d4c85a3d86 Parser done implementing 2024-11-24 22:41:13 +03:00
IlyaShurupov
87fb15ed13 tmp 2024-11-24 22:41:13 +03:00
IlyaShurupov
b647271081 grammar done 2024-11-24 22:41:13 +03:00
IlyaShurupov
505b77da3f tmp 2024-11-24 22:41:13 +03:00
IlyaShurupov
8dc73bc1d5 tmp 2024-11-24 22:41:13 +03:00
Ilusha
1293136343 Replace object parser with lalr library 2024-11-24 22:41:13 +03:00
Ilusha
420bb37039 Adding support for windows and fixing some errors 2024-11-24 22:41:13 +03:00
IlyaShurupov
f6ba86aff8 CMake fixes 2024-11-24 22:41:12 +03:00
IlyaShurupov
91fb72bd49 Apply formating to all files. CLeanup 2024-11-24 22:41:08 +03:00
IlushaShurupov
cef0db6fb1 Adding some tokinizer checks for strings and comments 2024-11-24 22:38:03 +03:00
IlushaShurupov
17ad239692 Adding objects GUI initial. Changing TODO. Some fixes along side 2024-11-24 22:38:03 +03:00
IlushaShurupov
f579a969ce "Added new test 'Complex' and improved error debugging"
This revision adds a complex test to the 'TestInterpreter.cpp' file to test functionalities such as classes, variable initializations, loops, conditionals and methods in the interpreter. The token parser has also been updated with a reset method in the 'parser.cpp' file for cleaning up any previous state before parsing a new script. This ensures the parser starts fresh for each new parse request. It also improves the debugging process in 'function.cpp' by printing the description of parser errors. Few completed tasks are removed from the TODO list.
2024-11-24 22:38:03 +03:00
IlushaShurupov
3f4f2caf1f Load and destroy methods revised for proper reference counting
The update enhances object management by involving scope-based reference counting. The change affects loading and destruction operations in the Object and several other classes, ensuring the release or retention of objects adhere to their usage context. A function for logging type data has also been introduced to provide better clarity during debugging. Also, tests in script & interpreter have been altered to run in separate module initializations to avoid cross-test interference. Overall, it provides better memory management and dependable tests.
2024-11-24 22:38:03 +03:00
IlushaShurupov
ab0edfc302 Add Interpreter tests and improve Parser error logging
A set of tests for the InterpreterObject has been added to enhance its reliability and maintainability. The tests check the essential functionalities such as its creation, execution, saving, loading, and destruction. Furthermore, the error logging for the Parser has been improved, now providing more precise location of detected errors. The changes improve the robustness and debugability of the code.
2024-11-24 22:38:03 +03:00
IlushaShurupov
e0eb6e138d Refactor save size calculation with SaveSizeCounter
SaveSizeCounter is introduced and used for calculating the save size of objects. The previous method of calculating save size directly in each class was replaced with a call to the SaveSizeCounter's calc method. This results in a cleaner, more maintainable code as the size calculation logic is now centralized in one class. It is more efficient and scalable as any changes to the calculation can be made in one place and will be reflected everywhere.
2024-11-24 22:38:03 +03:00
IlushaShurupov
a679ab1c4b Objects adding dict test & fixes 2024-11-24 22:38:03 +03:00
IlushaShurupov
63029e6083 Adding Simple Objest test. Fixes some bugs 2024-11-24 22:38:03 +03:00
IlushaShurupov
edf0548046 Objects Compiled 2024-11-24 22:38:03 +03:00
IlushaShurupov
94057d2a66 Objects Initial 2024-11-24 22:36:45 +03:00