机械荟萃山庄

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2641|回复: 2

木兰中科发,安能辨我是Python

[复制链接]

2万

主题

2万

帖子

17万

积分

超级版主

Rank: 8Rank: 8

积分
176574
发表于 2020-1-17 18:21:10 | 显示全部楼层 |阅读模式





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

565

主题

4013

帖子

2万

积分

超级版主

Rank: 8Rank: 8

积分
28212
发表于 2020-1-17 19:49:46 | 显示全部楼层
我给大家说明一下,其实任何人都能很轻松的生成自己的编程语言

学过编译原理的人知道,一个编译程序,分为词法分析,语法分析,语义分析,中间代码生成,机器无关优化,目标代码生成,机器相关优化。

其中,词法分析,语法分析,语义分析,中间代码生成,称为编译器前端,最终产物是中间代码,目前已经有统一的中间代码了

机器无关优化,目标代码生成,机器相关优化,称为编译器后端,这个是平台体系相关的。

重点来了,编译器前端,目前是有自动生成工具的,而且非常成熟,并且是开源的,只要自己写些脚本文件,把你自己定义的语言的关键字,语法语义之类的东西定义清楚,就能生成一个你自己的编译器,可以编译出中间代码。

而由中间代码生成目标代码的编译器后端,由于是机器相关的,比如各种超级计算机,后端是要自己研发的。但是但是,如果是微型机X86平台,那么由中间代码生成X86目标代码编译程序,他是有成品软件可以帮你生成的,而且是开源的!!

所以呢,如果我自己想做一个编程语言,就定义为“疯花生语言”,我只要把关键字,以及相关语义语法规定好,至于用英文还是中文或者日文甚至火星文都没关系,只要我规定好就行,脚本文件一写,就有软件替我生成“疯花生语言”的编译器,整个过程需要多久呢?不多,2周。

所以呢,这个所谓的木兰语言,其实就是把python当作中间代码,把python编译器当作后端,至于前端那些,他只是用文言文来做关键字,并定义好相关的语法语义,用软件生成了一个前端而已,确实没技术含量。

并不是说编译器这东西没技术含量了,编译器的技术含量高的很,只不过技术含量高的部分在后端,编译器相关的论文,基本上都集中在代码优化部分。所以,但凡有人号称开发出了自己的编程语言,只要问他,你的后端是如何实现的,你的代码优化是怎么做的,就可以知道这人水不水了。

点评

编译原理太专业,听得不是跟明白,国内各行各业水平可以类比画图,留说深度都tm扯淡  发表于 2020-1-17 21:48
吃,懒,躺,睡......
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|机械荟萃山庄 ( 辽ICP备16011317号-1 )

GMT+8, 2024-12-25 21:07 , Processed in 0.099854 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表