我想创建一种新语言,其语法与Typed Racket相同,但执行时会做两件事:
我知道如何编写Racket代码来将一种语言翻译成另一种语言,但我不知道如何同时实现上述两个功能:先将其作为另一种语言运行,然后对相同的输入进行其他操作。
- 按照Typed Racket的要求运行给定的程序
- 如果类型检查通过,则将输入转换为另一种语言(比如Python)。我计划编写一个从Typed Racket形式到Python语法的翻译器。
我知道如何编写Racket代码来将一种语言翻译成另一种语言,但我不知道如何同时实现上述两个功能:先将其作为另一种语言运行,然后对相同的输入进行其他操作。