-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如果将 llvm-ir 融合到豫语中,会否有一些好处呢? #68
Comments
可以参考一下目前的豫言编译器生成的LLVM IR,也是使用了大量中文的。 在我的设计中让LLVMIR成为豫言子集应当并非难事,但LLVM IR是作为编译中的中间表达形式,我并不能够看到中文化LLVM IR的价值,因为所有的LLVM IR能够表达的东西高级语言都可以非常方便地表达。 但如果目的是设计以中文为基底的底层语言,我认为一种可能的形式是 豫言编译器自己的某些中间表示形式,例如这种形式 |
《Hackers & Painters》的"The dream language"里提到为了解决瓶颈而内嵌的可能性:
另外,个人认为如果是为通用设计的 IR,它的可/易读性要求就更高。 |
是的,我之前说错了。豫言本身就可以被用做底层IR。 |
从另一个角度来说,豫言是一种高级语言,直接操作内存可行,但通常不推荐这样做。 |
同一章的《Hackability》一节供参考:
个人认为对底层操作的支持可以成为优势,而且可以很大程度上抵消语言性能的压力(《Efficiency》 一节):
|
如果对底层的支持是说这个的话:
豫言目前以及可能支持的底层操作有:
这两者都不需要涉及LLVM IR,而可以直接用豫言本身或者C语言,或者LLVM IR语言实现。不需要在豫言中内嵌LLVM IR。 |
了解。请问有第一点( |
第一点目前没有文档,因为包管理器和构建系统仍然没有开始搭建,需要等包管理器和构建系统设计开发完成之后才能开始文档撰写。 演示的话可以参考标准库中小数操作的实现,https://github.com/yuyan-lang/yuyan/blob/master/yylib/标准库/数据结构/小数操作%E3%80%82豫 , 小数操作的实现目前是直接调用相关的C函数。 |
比如:
相当于
又如:
相当于
如果这样llvm汇编会成为豫语的一个子集?
早先一点对汇编中文化的 相关设想请见此。
另外这位 中文化了字节码,如“如果假跳转”。
The text was updated successfully, but these errors were encountered: