Commit Graph

315 Commits

Author SHA1 Message Date
Username404 4fa72c0459
Parser.hpp: Parse properties and methods
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-16 12:36:48 +02:00
Username404 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
Username404 22d1599237
Add a GodotScript target
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-07 17:22:20 +02:00
Username404 4e08c0cf05
Implement reserved identifiers
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-06 15:35:21 +02:00
Username404 2ebb1d5239
main.cpp: Shorten the assignment of printResult and text_provided
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-03 01:14:58 +02:00
Username404 97fa5fbb27
main.cpp: Simplify the condition used for text or files arguments
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-03 01:02:26 +02:00
Username404 7ebf0ab5a4
Parser.hpp: Shorten two "if" statements
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-26 13:33:16 +02:00
Username404 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
Username404 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
Username404 16eeea2524
Target.hpp: Use reinterpret_cast instead of dynamic_cast
CMakeLists.txt: Disable the reinterpret-base-class warning when using Clang

Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-18 19:17:48 +02:00
Username404 4097b1c59a
Lua.hpp: Only output indentation when newLines is set to true
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-07 09:37:04 +02:00
Username404 de658bd032
Target.hpp: Return false by default in the uniqueLineSeparator function
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-07 09:15:24 +02:00
Username404 6e35682911
Target.hpp: Don't use to_string in the Target::forName function
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-07 08:51:49 +02:00
Username404 b7a22e0e51
main.cpp: Fix indentation at line 46
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-06 22:08:19 +02:00
Username404 34134dda71
Target.hpp: Simplify the Target::forName function and change its return type to unique_ptr instead of shared_ptr
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-05-06 22:06:52 +02:00
Username404 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
Username404 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
Username404 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
Username404 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
Username404 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
Username404 0d12f7eceb
Parser.hpp: Replace ';' with SEMICOLON
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:41:34 +02:00
Username404 2330b87c0f
Target.hpp: Add a "use_uniqueLineSeparator" virtual function
Js.hpp: override the new virtual function to always output semicolons

Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:11 +02:00
Username404 97a9703a1a
Lua.hpp & Js.hpp: Don't insert new lines and indentation when a function is empty
Py.hpp: Support empty functions

Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:11 +02:00
Username404 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
Username404 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
Username404 e32b2172e5
Use deca::num in Parser.hpp
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:10 +02:00
Username404 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
Username404 8d239694cf
Remove the const specifier in the "begin" and "end" functions of ParseTree, since they call non-const functions
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:10 +02:00
Username404 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
Username404 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
Username404 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
Username404 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
Username404 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
Username404 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
Username404 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
Username404 6945900140
main.cpp: Rename "currentArg" to "currentArgument"
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:08 +02:00
Username404 21137f5beb
Add a "--text" argument
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:02 +02:00
Username404 49dc7d0ebb
main.cpp: Use a map instead of a set and a vector in main.cpp
Target.hpp: make staticMap thread-local to avoid issues with the "--parallel" argument, and don't include dots in the languages array

Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-08 19:45:00 +02:00
Username404 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
Username404 14b71906b7
Add a SEMICOLON token
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-08 11:01:16 +02:00
Username404 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
Username404 ca3b030fed
Delete the default constructor in Target.hpp and always initialize output
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 15:59:32 +01:00
Username404 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
Username404 ce8e21ee25
Include cmath in Parser.hpp
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 15:37:13 +01:00
Username404 8a97def6b2
Add integer parsing
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 13:40:18 +01:00
Username404 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
Username404 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
Username404 3a75531664
Transpile arguments correctly in Target.hpp
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-19 13:09:51 +01:00
Username404 ba14e95d50
Add a separate_transpileTree overload and transpile function parameters correctly
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-19 12:40:52 +01:00
Username404 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