gpt4 book ai didi

c# - 什么是 TinyPG,它是如何工作的?

转载 作者:太空狗 更新时间:2023-10-30 00:36:35 26 4
gpt4 key购买 nike

什么是 TinyPG,它是如何工作的?我知道它是一个“编译器-编译器”,但我如何开始并在 C# 中创建我自己的编译器?

最佳答案

我已经大致了解了您的使用方法,这里简单介绍一下。

TinyPG是一个完整的编译器-编译器 IDE,带有适用于 RegExp、EBNF 和 C#/VB 的 Windows GUI。下面概述了在 TinyPG 中开发自己的“编译器”的过程:

您使用 Regular Expressions. 定义终端

  • 您在 TinyPG 中编写这些 ReyExp,它基本上是从输入源代码中提取标记。
  • .NET 原生支持正则表达式,这意味着即使您生成的“编译器”代码也使用 .NET 的正则表达式。

您在 Extended BNF 中定义非终结符和解析器规则元语法。

  • 您在 TinyPG 中编写 EBNF,以描述您选择的语言。
  • 一些免费 BNF Grammers描述现代编程语言。

您在托管代码中定义编译器。

  • 您在 TinyPG 中编写 C#/VB 代码,将标记转换为您选择的输出。
  • 仅每个 BNF 语法规则一个 C#/VB 代码块。
  • TinyPG 可以使用命令行编译器编译和运行“tokenizer + parser + complier”。

TinyPG 为您的新“编译器”生成 C# 代码。

  • 生成 parse-tree来自输入的源代码,使用您的 RegEx 和您的 EBNF。
  • 使用您的 C#/VB 代码将此解析树翻译成输出。

您使用 C# 或 VB.NET 开发编译器的前端。

  • 基本前端会使用输入文件调用生成的 C# 类,并显示输出。

首先,您可以打开提供的 TinyPG 示例中的“simple expression2.tpg”文件,以查看计算器“编译器”的演示。

关于c# - 什么是 TinyPG,它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1387400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com