use*_*928 6 python smalltalk code-translation
首先我要说的是,我不是在寻找自动化解决方案.我想将代码从Python翻译成Smalltalk,因为我注意到一些非常简单的句子可以自动翻译,例如:
将变量分配给值
蟒蛇
i = 1
Run Code Online (Sandbox Code Playgroud)
短暂聊天
i := 1.
Run Code Online (Sandbox Code Playgroud)
创建类的新实例
蟒蛇
instance = module.ClassName()
Run Code Online (Sandbox Code Playgroud)
短暂聊天
instance := ClassName new.
Run Code Online (Sandbox Code Playgroud)
一个for循环
蟒蛇
for a in [0,1,2]:
print (str(a)+str(a))
Run Code Online (Sandbox Code Playgroud)
短暂聊天
#(0 1 2) do: [: a | Transcript show: a + a; cr ]
Run Code Online (Sandbox Code Playgroud)
等等(循环,条件等).我的想法是有一个工具可以翻译所有这些非常"简单"的案例,然后我可以手工完成或教授规则系统.
你知道任何可以帮助我的编程翻译工具或库吗?
如果您还没有听说过任何工具,您将使用哪种技术/模式来实现此类翻译?你能提供一个例子的链接吗?
谢谢
我不知道有任何这样的工具,并且在一般情况下它可能很复杂和/或效率低下。因此,您的路线将取决于您更精确的需求:移植现有的 python 库,仅从 Smalltalk 中使用它,或者制作干净的 Smalltalk 代码,其功能与 Python 代码相同。
我会考虑的路线:
请注意,生成器变体在一般情况下可能会面临一些困难的问题,例如,smalltalk 具有固定数量的实例变量,而在 python 中,您可以随时附加。您可以解决这个问题,但生成的 Smalltalk 代码可能不太漂亮。
至于在smalltalk中实现python,请查看Lukas Renggli的helvetia演示,它的主题是在smalltalk IDE中包含其他语言。