Delphi的很多代码技术已经开源了,开源的叫lazarus-ide

rawa459 2020-07-29 09:14:12
我准备使用Lua改写ObjPascal编译器,现在这个lazarus-ide是完全使用Gcc交叉编译的方式移植到linux上的,问题太多。
...全文
2749 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
rawa459 2020-10-17
  • 打赏
  • 举报
回复
你确定你懂什么叫HTML解析引擎??
lsh341999 2020-10-15
  • 打赏
  • 举报
回复
h2plus0 2020-10-14
  • 打赏
  • 举报
回复
说实话,pascal语言真的没有c/java这些易学, 比如: pscal是大小写无关的, 这样会造成很多命名不一致的情况 另外, var这种参数,没有指针灵活易懂, 还有, begin/end, 实在太臃肿... 现在流行的是 c#/java, 当然, c#, java也有它们的缺点, 但总的来说, pascal真的已经落后了, 想当年borland那些天才,跑到M$去, 可惜鸟
  • 打赏
  • 举报
回复
Pascal长期是ACM推荐的教学语言(80年代到90年代初,之后是推荐C和C++,大约93~98年,之后一直是Java),而且是Niklaus Wirth教授获得图灵奖的主要发明之一,必然是有相当优点的。Wirth教授设计Pascal是作为样板语言和教学语言的,注重的是其学术价值而不是实用性,Pascal作为一个实用语言是从Borland 80年代推出Turbo Pascal开始的,Turbo Pascal也对标准Pascal做了很多改进和扩充,相当于C++Builder和ISO C++之间的区别。而标准Pascal,我们这样年纪的人应该都没有用过。
var参数这一点,你说的是错的,var参数是引用参数(Pascal中称之为变参),传实参地址而不是传值,C中因为没有引用参数,只能显式传指针(Pascal中也可以),但是传指针没有传引用安全,可以传入空指针,C++中也引入了引用参数,就是为了更安全。
简单说,Pascal注重的是标准化和规范化,初学者友好,因而略显繁琐,这是其设计思路决定的。但是比更偏向于描述型的语言,COBOL、Ada之类的,还是简洁多了。Pascal中也不是没有简洁灵活的地方,比如同类型参数可以合并声明,无参函数的括号可写可不写,串联else,逻辑xor,内置的字符串、集合类型等等
rawa459 2020-10-13
  • 打赏
  • 举报
回复
有人提到了汉语编程和易语言,我有个问题,能不能举出一个程序,易语言可以实现,而VB不能实现呢?易语言很明显这是用C++编写的一个翻版的VB而已,这个连delphi都不如,delphi的控制win系统和图形函数都是用pascal语言实现的。 我这个想法,是别让这一门古老的语言退出历史舞台,要加强pascal 语言控制系统对象,控制浏览器对象和C++图形库的能力,这些都要用lua来实现,用pascal本身去封装,这个难度太大了,并且freepascal都在做这个。
ooolinux 2020-10-13
  • 打赏
  • 举报
回复
楼主最终的目的是什么,用lua语言来写图形界面程序,和delphi一样?
ooolinux 2020-10-12
  • 打赏
  • 举报
回复
引用 8 楼 ooolinux的回复:
难道楼主是希望用lua来桥接delphi的类库,用lua语言来写图形界面程序?不知道理论上有没有这种可能性(lua语言特性具备不具备能力做这个),实际上估计没有人做。如果delphi或cpp语言学习有难度,建议学习C#或者PyQt做界面。
还有vb和易语言。
ooolinux 2020-10-12
  • 打赏
  • 举报
回复
难道楼主是希望用lua来桥接delphi的类库,用lua语言来写图形界面程序?不知道理论上有没有这种可能性(lua语言特性具备不具备能力做这个),实际上估计没有人做。如果delphi或cpp语言学习有难度,建议学习C#或者PyQt做界面。
  • 打赏
  • 举报
回复
理论上用VB写一个c++编译器也是可以的,写编译器/解释器对基础语言的要求并不高,只要有字符串处理能力、文件操作能力就可以。但是我估计楼主啥也写不出来,楼主的项目可能永远都开始不了~~~
ooolinux 2020-10-12
  • 打赏
  • 举报
回复
引用 8 楼 ooolinux 的回复:
难道楼主是希望用lua来桥接delphi的类库,用lua语言来写图形界面程序?不知道理论上有没有这种可能性(lua语言特性具备不具备能力做这个),实际上估计没有人做。如果delphi或cpp语言学习有难度,建议学习C#或者PyQt做界面。

如果理论上可行,实现能够用lua语言来写和Delphi写的一样功能的程序,不知道要做哪些事情,大概需要专职程序员干多少人年?
@老概
abc_ustone 2020-10-12
  • 打赏
  • 举报
回复
ooolinux 2020-10-11
  • 打赏
  • 举报
回复
引用 6 楼 早打大打打核战争的回复:
[quote=引用 5 楼 ooolinux 的回复:]老概在不在?他说的我怎么看不懂。


我的意见是不要和火(nao)星(can)人对话~~~
[/quote] 人家说得很认真的😉
  • 打赏
  • 举报
回复
引用 5 楼 ooolinux 的回复:
老概在不在?他说的我怎么看不懂。


我的意见是不要和火(nao)星(can)人对话~~~
ooolinux 2020-10-10
  • 打赏
  • 举报
回复
老概在不在?他说的我怎么看不懂。
rawa459 2020-10-10
  • 打赏
  • 举报
回复
基本上,原来的pascal编译器的obj部分是按照Clang的理论实现的,这个当年苹果公司进行过深入的研究,现在操作系统内核部分基本是使用C实现的,而图形库和3D引擎部分,都是使用C++构建的,工作环境最独立的ada编译器也是被C++取代了,现在浏览器技术的崛起,操作系统的统治地位已经位居次要地位了,浏览器的js语言重新进行了再定义,所以一个完善的编辑器和计算机语言不可能脱离C++库的操控能力,操作系统内核和环境变量的操控能力,浏览器内核和web服务器的操控能力,并且自己在语言内部支持上也必须有这三部分的相对完善的操控函数库。 所有语言的薄弱的环节在于字符处理和程序员对于语言程序语句的快速理解还有就是语言的学习曲线。 所以,我这个计划就是用Lua的优势来补充老的pascal语言的缺点。 整个语言编译器,包含一个pascal语言的内核,lua编写的各种跟OS和web的接口,lua实现的各种字符串的处理,lua编写的各种操控C函数和C++库的函数库,事实上就是用lua重写pascal的obj部分实现而已。
rawa459 2020-09-08
  • 打赏
  • 举报
回复
python是编译器还是解释器???
rawa459 2020-08-02
  • 打赏
  • 举报
回复
我研究编译器接近15年了,这是一个相当漫长和复杂的过程,我建议有兴趣的先回复一下,可以在googlecode上建立一个代码托管的项目,理论上就是使用C和lua写一个解释pascal和Objpascal的解释器。
ooolinux 2020-08-02
  • 打赏
  • 举报
回复
怎么一会编译器,一会解释器?

830

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧