如何在turbo c中创建真值表

时间:2016-02-14 09:22:20

标签: c parsing parser-generator turbo-c truthtable

我有一个项目,我将创建一个真值表,用户将输入命题及其运算符,我的程序将输出提供真值表的真值。

我有以下问题:

  1. 我可以使用turbo c?
  2. 使用解析技术
  3. 我应该如何在turbo c中解析这个表达式?防爆。 (p ^ q) - > [R
  4. 一旦解析了表达式,我该如何生成真值表?表达式的每个部分都需要划分为最小的组件,并从表的左侧重新构建。我该如何评价这样的东西?
  5. 任何人都可以向我提供有关解析这些任意表达式并最终评估解析表达式的提示(或链接)吗?

1 个答案:

答案 0 :(得分:0)

让我试着回答你的问题。

  1. 是。没有理由不能。
  2. 您需要编写某种词法分析器才能将表达式转换为标记。然后,您可以使用shunting yard algorithm将表达式转换为您可以轻松评估的内容。
  3. 使用(2)中的结果并在一个小堆栈机器中进行评估。将每个自由变量设置为所有可能的组合以生成真值表。
  4. 一般来说,解析任意语言是不可能的。可以在Dragon Book(编译器:原理,技术和工具)中找到编译器构造(这是您感兴趣的子字段)的一个很好的介绍。虽然这是一个很大的领域,但我建议您选择编译器构造类。

    另外,考虑放弃Turbo C最近的事情。 Turbo C很古老,充满了奇怪的怪癖。