-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
To replicate:
>cat add_two_arrays.py
def add_two_arrays(arrayA, arrayB):
return arrayA + arrayB
print(add_two_arrays([1,2,3], [4,5,6]))
>pseudo-python add_two_arrays.py
OK
saved pseudo ast as add_two_arrays.pseudo.yaml
>pseudo add_two_arrays.pseudo.yaml go
Traceback (most recent call last):
File "/usr/local/bin/pseudo", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.6/site-packages/pseudo/main.py", line 44, in main
output_source = pseudo.generate_from_yaml(intermediate_code, format)
File "/usr/local/lib/python3.6/site-packages/pseudo/__init__.py", line 97, in generate_from_yaml
return pseudo.generate(pseudo.loader.as_tree(pseudo_ast), language)
File "/usr/local/lib/python3.6/site-packages/pseudo/__init__.py", line 116, in generate
translated_ast = API_TRANSLATORS[language](pseudo_ast).api_translate()
File "/usr/local/lib/python3.6/site-packages/pseudo/api_translator.py", line 81, in api_translate
transformed = self.transform(self.tree)
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 34, in transform
tree = self.transform_default(tree)
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 54, in transform_default
setattr(tree, field, self.transform(child))
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 41, in transform
return [self.transform(child) for child in tree]
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 41, in <listcomp>
return [self.transform(child) for child in tree]
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 34, in transform
tree = self.transform_default(tree)
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 52, in transform_default
setattr(tree, field, self.transform_block(child))
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 60, in transform_block
result = self.transform(child, True)
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 34, in transform
tree = self.transform_default(tree)
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 50, in transform_default
setattr(tree, field, self.transform(child, False, tree if tree.type[-10:] == 'assignment' else None))
File "/usr/local/lib/python3.6/site-packages/pseudo/tree_transformer.py", line 32, in transform
tree = handler(tree, in_block, assignment)
File "/usr/local/lib/python3.6/site-packages/pseudo/api_translator.py", line 148, in transform_standard_method_call
'%s doesn\'t have a %s#%s method' % (type(self).__name__, l, node.message))
pseudo.errors.PseudoStandardLibraryError: GolangTranslator doesn't have a List#concat method
You get this same error for C++, Ruby, JS and Python. Only C# is able to handle List#concat properly, and I am able to generate human-readable C# code using pseudo
.
Metadata
Metadata
Assignees
Labels
No labels