您的位置: 首页-> 电脑文摘-> 网站开发-> CGI/PERL-> 正文

Perl6的结构
作者佚名 来源InterNet 加入时间:2005-3-30
摘要

源码进入解释器,解释器产生一个语法树(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的时候运行,而且同样可以方便的将字节码输入到其他的虚拟机。



[文章录入员:nancy]

相关文章
  • 用Perl制作页面计数器
  • 用Perl语句来代替常用的操作系统命令
  • 用 perl 实现文件上传
  • perl 域名查询程序
  • 一个支持HTTP续传下载的PERL程序
  • Perl的经典用法
  • Perl 程序的属性祥解
  • perl中的日期处理
  • perl在win32平台上直接操作打印机
  • Perl用于实现遗传算法
  • 相关软件:
  • PERL 编程24学时教程
  • Perl Template Toolkit
  • Perl 24 小时自学通
  • CGI-Perl实例起步
  • ::PCBOOKCN'ADS::


    ::CGI/PERL::
    ASP/ASP.NET
    PHP技术
    JSP技术
    XML技术
    CGI/PERL
    WEB服务器
    其它
    ::阅读排行::
    ·perl中的日期处理
    ·深入研究表单提交方式:GET/P...
    ·如何利用Perl开发Intern...
    ·本地调试PERL CGI程序
    ·CGI应用程序开发基础
    ·PerlScript编写ASP
    ·PERL与MySQL(DBI接口...
    ·Perl用于实现遗传算法
    ·CGI编程--Perl的安装配置
    ·ASP、CGI、ISAPI、OD...