Python:将通常的文本转换为可执行的机器代码

时间:2018-03-21 12:16:06

标签: python dsl

我需要解决任务,与创建DSL相关联。 首先,我该怎么做才能将文本翻译成机器代码。 例如:

  

text:'如果薪水超过5000,请执行op1'

应翻译为..

if salary > 5000:
    op1

有什么办法吗?也许是其他langs

1 个答案:

答案 0 :(得分:0)

你正在寻找的是一个编译器,最流行的编译器构造函数是Yacc& Flex使用BISON GNU。

Yacc的: Yacc wiki& BISON GNU Docs

但在完成之前,您需要了解无上下文语法。

Context Free Grammar

只有当语言具有确定性时才能解析语言,因为只有一条规则可以解析该句子