动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   Cgi/Perl → 阅读文章

 Perl6的结构

作者来源: 
阅读 1991 人次 , 2006-3-29 4:03:00 


摘要

源码进入解释器,解释器产生一个语法树(syntax tree)。
语法树进入编译器,编译器产字节码(bytecode)。
字节码进入优化器(optimizer),优化器产生更多的(更好的)字节码。
runtime然后来处理进入的字节码(可能是运行它,不过也有可能把它转化为java字节码,或者.net字节码,或者可执行的alpha 代码(an alpha executable),或者编码的dna序列)。

source code
+----------------+
|the parser |
+----------------+
syntax tree
+-------------------+
|the compiler |
+--------------------+
bytecode
+---------------------------+
|byteode optimizer |
+---------------------------+
better bytecode
+------------+
|runtime |
+------------+

计划
解释器将允许你改变这些规则。规则集(rule sets)定义了主要的语言(perl, c, python, java, etc.),你可以为其他的语言撰写新的规则(比如,没有$ @ %等符号的perl)。

运行时引擎(the runtime engine)将会时一个基于寄存器的虚拟机(a register-based virtual machine),而perl5的虚拟机时基于栈的(stack-based)。

重写(revisit)perl的一个主要原因是要去修复混乱的xs(xs是指用c/c++子程序来扩展perl)的方式。除了用来执行perl的函数,perl5没有用于扩展的api,所以扩展perl需要大量繁琐的工作。dan和larry的目标是要使c扩展的使用尽可能的简单(brian ingerson的精彩的perl5内联模块为此指明一些方向)。任何使用过xs的人都等着它的灭亡。

perl5被设计成这样一种方式,那就是当有c的时候,它就可以运行。近来,一些虚拟机(jvm, .net)代替了c。所以,我们将看到,我们的自己的虚拟机不仅可以在有c的时候运行,而且同样可以方便的将字节码输入到其他的虚拟机。

 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Perl CGI 程式写作常问问题集(一)
· 下一篇:激动人心的Perl6即将来临
· 在Linux下访问MS SQL Server数据库
· Parrot 常见问题
· Perl教学 第六篇 模式匹配之二
· perl的邮件论坛
· 在 linux 系统下安装 perl


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077