当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在vb.net中创建编译器》经验,为你挑选了1个好方法。

在回答这个问题之前,要明白我并不是在问如何创建自己的编程语言,我想知道如何使用vb.net代码为vb.net本身的语言创建编译器.基本上,用户输入代码,他们获得.exe.通过NO MEANS我想写自己的语言,因为这里似乎有其他与编译器相关的问题.我也不想使用vb.net编译器本身,也不想复制IDE.

我想要做的事情的确切目的是很难解释,但我需要的只是在编写编译器(如果可能的话,从头开始)的正确方向上轻推,它可以简单地获取输入并创建.exe.我之前(我自己的程序)打开.exe文件作为纯文本,看看我是否可以从我认为是人类可读的文本中得到一些含义,但我看到随机的ascii显然非常失望,尽管可以理解为什么这就是我发现的全部.

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

这是一个编程问题而不是计算机问题,这就是为什么我没有在SuperUser上发布它.我知道有关System.IO命名空间的大量信息,所以我知道如何创建一个文件并写入它,我根本不知道我将在这个文件中放置什么以使其作为可执行文件工作.

如果这个问题"混乱","愚蠢"或"明显",我很抱歉,但我无法在任何地方找到有关可执行文件的实际内容的任何信息.

我的一个谷歌搜索

看起来很有前途的东西

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

非常感谢你的帮助,如果这个问题是一个"不好"或"坏"的话,我很抱歉.

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



1> MBillock..:

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

    解释代码本身

    写出解释的代码

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

一旦解析了代码,下一步就是获取解析后的代码并将其转换为机器可运行的代码(通常是汇编代码,尽管使用VB.NET,您可以编写Microsoft中间语言代码作为输出,然后运行它CLR).这将以允许计算机运行程序的方式实际创建可执行文件.

不幸的是,解决这个问题的最佳建议是:

    去购买几本关于编程语言,机器代码,汇编语言,编译器等的书籍,然后花几个月或几年阅读和试验,直到你从书中获得的知识导致你编写成功的编译器.

    参加当地大学的计算机科学课程.编写编程器和编程语言通常在计算机科学学士学位的第二年或第三年处于初级水平,然后在研究生水平更深入.

祝好运!

编辑:如果您正在寻找的是一种编写代码然后编写执行方式的方法,那么您可以尝试编写一种已经存在的脚本语言的解释器 - Ruby,Python,Lua等.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有