gpt4 book ai didi

vb.net - 如何在 vb.net 中创建编译器

转载 作者:行者123 更新时间:2023-12-03 18:18:38 29 4
gpt4 key购买 nike

在回答这个问题之前,请了解我不是在问如何创建自己的编程语言,而是在问如何使用 vb.net 代码为 vb.net 这样的语言创建编译器本身。本质上,用户输入代码,他们得到一个 .exe。我绝对不想写我自己的语言,因为这里似乎有其他与编译器相关的问题。我也不想使用 vb.net 编译器本身,也不想复制 IDE。

我想要做的事情的确切目的很难解释,但我所需要的只是朝着正确的方向插入编写一个编译器(如果可能的话,从头开始),它可以简单地接受输入并创建一个 .exe。我之前(我自己的程序)以纯文本形式打开 .exe 文件,看看我是否可以从我认为是人类可读的文本中得出一些含义,但我显然对看到随机的 ascii 感到非常失望,尽管这是可以理解的这就是我找到的全部。

我知道 .exe 文件只是几行代码,由它所在的计算机解析,但我在这里的问题实际上归结为:什么代码组成了 .exe?如果我愿意,我怎么能在纯文本编辑器中制作一个? (不,我不想那样做,但如果我理解了这个过程,我的目标就会更容易实现。)什么使可执行文件成为可执行文件?代码的逻辑在哪里适合?

这是一个编程问题,而不是一个计算机问题,这就是我没有将其发布在 SuperUser 上的原因。我知道很多关于 System.IO 命名空间的信息,所以我知道如何创建一个文件并写入它,我只是不知道我到底要在这个文件中放置什么才能让它作为可执行文件工作。

如果这个问题“令人困惑”、“愚蠢”或“显而易见”,我很抱歉,但我无法在任何地方找到有关可执行文件实际内容的任何信息。

One of my google searches

Something that looked promising

编辑:这里的第二个链接虽然看起来不错,但完全失败了。我不会浪费数小时的时间敲击键和记录结果。 “使用“Alt”和 3 位数字组合来创建不会出现在键盘上但在程序中需要的符号。” (第 4 步)我怎么知道我需要什么符号???

非常感谢您的帮助,如果这个问题是一个笨蛋或“坏”问题,我深表歉意。

简单地总结一下:我想在 vb.net 中创建一个程序,该程序可以将特定语言的代码编译为单个可执行文件。有哪些方法可以让我做到这一点,如果没有,我该如何从头开始编写自己的方法?

最佳答案

你问的是一个相当复杂的问题。当然,它的核心似乎非常基本:

  • 解释代码本身
  • 写出解释后的代码

  • 但这些步骤中的每一个都可能非常激烈。步骤 1 应该可以通过一些时间和大量的肘部润滑脂来实现 - 您需要根据语言规范将代码解析为许多控制语句。退房 http://en.wikipedia.org/wiki/Parsing有关此步骤的更多信息。从本质上讲,您将键入的代码转换为表示您想要的功能的通用格式。

    解析完代码后,下一步就是将解析后的代码转换为机器可运行的代码(通常是汇编代码,但使用 VB.NET,您可以编写 Microsoft 中间语言代码作为输出,然后在CLR)。这实际上是以一种让计算机运行程序的方式创建可执行文件的内容。

    不幸的是,解决此问题的最佳建议是:
  • 去买几本关于编程语言、机器代码、汇编语言、编译器等方面的书,然后花几个月或几年的时间阅读和试验,直到你从书中获得的知识导致你写出一个成功的编译器。
  • 在本地大学注册计算机科学类(class)。编写编译器和编程语言通常在计算机科学学士学位的第二年或第三年进行基本的学习,然后在研究生阶段进行更深入的学习。

  • 祝你好运!

    编辑:如果您正在寻找的只是一种编写代码的方法,然后编写一种执行它的方法,您可以尝试为已经存在的一种脚本语言编写解释器——Ruby、Python、Lua 等。

    关于vb.net - 如何在 vb.net 中创建编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1489089/

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