偶然间在朋友圈发现有人在看一本《两周自制脚本语言》,觉得写个脚本语言挺不错的,方便自己对语言本身进一步了解。于是乎,买了下来看了看,写的挺通俗易懂,但是不便的是,采用的语言是Java,PHP才是最好的语言么!为什么要采用Java。
这几日,我也在网上搜索了一些资料,发现这个不错。http://github.com/rspivak/ls...,不过同样,该教程采用的也不是PHP。正如作者所言,选什么语言由你,解释器并不依赖语言特性。
于是乎,我用PHP重写了part1的部分,并在以后几日,将会采用PHP重写所有部分。
在这里写出代码方便自己查找,同时也希望一些对解释器感兴趣的朋友一同学习。
?phphtml' target='_blank'>class Token{ private $type; private $value; public function __construct($type,$value) $this- type=$type; $this- value=$value; public function __get($name) return $this- {$name}; public function __toString() return type: .$this- type. value: .$this- value;class Interpreter{ private $current_char ; private $current_token ; private $text; private $pos=0; public function __construct($text){ $this- text=trim($text); public function error() throw( Error parsing input public function get_next_token() $text=$this- text; if ($this- pos strlen($text)-1){ return new Token( EOF , null); $this- current_char = $text[$this- pos]; if (is_numeric($this- current_char)){ $token=new Token( INTEGER ,intval($this- current_char)); $this- pos++; return $token; if ($this- current_char== + ){ $token = new Token( PLUS , $this- current_char); $this- pos ++; return $token; $this- error(); public function eat($token_type) if ($this- current_token- type==$token_type){ $this- current_token=$this- get_next_token(); }else{ $this- error();
独孤九贱(5)_ThinkPHP5视频教程ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《VeVb.com独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...
Peter-Zhu 2017-05-16 12:03:57
独孤九贱(4)_PHP视频教程江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。PHP 出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...
Peter-Zhu 2017-03-20 22:47:17
独孤九贱(1)_HTML5视频教程《VeVb.com原创html5视频教程》课程特色:php 原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。...
Peter-Zhu 2017-03-13 10:15:11
ThinkPHP5实战之[教学管理系统]本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。
Peter-Zhu 2017-07-24 16:48:56
PHP入门视频教程之一周学会PHP所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...
PHP教程郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答