f348dc985f
Target.hpp: Don't return a reference to a static thread-local map in the Target::getTaskMapInstance function
...
It only worked properly with the "--parallel" flag
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-09-21 20:35:07 +02:00
22d1599237
Add a GodotScript target
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-07 17:22:20 +02:00
4e08c0cf05
Implement reserved identifiers
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-07-06 15:35:21 +02:00
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
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
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
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
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
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
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
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
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
8a97def6b2
Add integer parsing
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-22 13:40:18 +01:00
3a75531664
Transpile arguments correctly in Target.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-19 13:09:51 +01:00
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
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
56e1db5fcc
Add a transpileTree function to Target.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
3c130529a4
Make the newLine constructor parameter a reference & add a "separator" member and a "uniqueLineSeparator" virtual method to Target.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
beb28ef4ad
Rename the Yerbacon::exit function to Yerbacon::fail
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
de2d936e19
Use dynamic_cast instead of reinterpret_cast in Target.hpp and ParseComponents.hpp, and extend the ParseComponent class virtually in the ParseTree and NamedIdentifier classes
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
1a37e35228
Add a component_ptr type definition to ParseComponents.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
ca4e773fca
Add an alternative "make_task_noR" macro to avoid making unused references in Target.hpp
...
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
63b3d727a6
Add a newline to the output in Target.hpp
...
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
905222f61d
Don't output an extra new line in the stringInterpolation() function
2022-02-14 14:12:00 +01:00
f90514ba4b
Remove the <optional> include directive in Target.hpp since it is now useless
2022-02-14 14:12:00 +01:00
5580b8f204
Remove redundant optional usage in Target.hpp
2022-02-14 14:12:00 +01:00
106a2f0be9
Remove a useless semicolon in Target.hpp
2022-02-14 14:12:00 +01:00
cb8e818956
Add shared tasks to Target.hpp
2022-02-14 14:12:00 +01:00
70466cdb80
Demangle the name of components when a GNU/Clang compiler is being used
2022-02-14 14:12:00 +01:00
1b9b281dec
Heavily modify Target.hpp, add a pointerAs function, and add an overload to Yerbacon::exit
2022-02-14 14:11:20 +01:00
8ab826bf68
Move a condition from Target.hpp to main.cpp and add a new Yerbacon::exit function
2021-10-07 21:39:48 +02:00
7b1987f81b
Throw an exception when instead of calling exit when the "--newlinesoff" argument is used with incompatible targets
2021-10-07 21:11:45 +02:00
beea9bfadf
Make const parse trees actually constant, fix formatting in Target.hpp and classes derived from Target
2021-09-19 20:45:57 +02:00
02bde3b106
Make the "languages" array a constant variable
2021-09-13 18:24:01 +02:00
d9913d0c9f
Use a type definition in Target.hpp
2021-09-12 13:48:34 +02:00
2b84262ea0
Use std::filter and std::transform instead of the std::ranges library and make the destructor of the Target class virtual
2021-09-12 12:00:21 +02:00
e79a7415de
Add an overload to reuse the same characters for the two parameters of Target::stringInterpolation and use an escaped character sequence
2021-09-11 13:42:22 +02:00
26421597f2
Prohibit the use of --newlinesoff with targets that do not support putting a whole script on one line
2021-09-11 13:19:43 +02:00
96bd6bf708
Re-add the newlinesoff argument
2021-09-11 11:49:57 +02:00
bfa8f50ad9
Revert "Add a "SEPARATOR" token type"
...
This reverts commit 47478173
2021-09-11 11:35:22 +02:00
6de05633d9
Add a "SEPARATOR" token type
2021-09-10 22:15:05 +02:00
37a6c0e047
Remove the oldClosingBraceIsFar boolean in Target.hpp
2021-09-02 10:35:53 +02:00
d6642f9ae5
Make getId() a constexpr function and use arrow syntax to call it in Target.hpp instead of dereferencing a pointer
2021-09-02 10:08:10 +02:00
b5697bf0a8
Take the remaining characters of a string instead of taking none in a condition of the stringInterpolation() function from Target.hpp
2021-09-01 19:31:04 +02:00
afc59c7a22
Don't find occurrences when closing characters are not found in Target.hpp, make the interpolation strings static const variables and fix typos
2021-08-31 15:19:44 +02:00
bc2f6938e3
Use negation in the multiline boolean of Target.hpp
2021-08-31 14:47:13 +02:00
e92b3cf12f
Fix an extra space being added in the stringInterpolation() function of Target.hpp
2021-08-28 23:25:16 +02:00
c186f30eef
Merge the noMultiline boolean into multiline in Target.hpp
2021-08-28 11:14:08 +02:00
2dba7fbda6
Add experimental string transpilation with interpolation
2021-08-28 10:59:24 +02:00