首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
11.JavaCC官方入门指南-例6
】的更多相关文章
11.JavaCC官方入门指南-例6
例6:计算器--添加括号.一元运算符和历史记录 1.calculator3.jj 我们只需要再添加一些特色,就可以得到一个可用的四则运算计算器.在这一版的修改中 ,我们将使得程序可以接收括号.负值,并且还可以通过$符号来引用上一次计算的结果. 对词法描述文件的修改如下所示,我们只添加下面3行: TOKEN : { < OPEN_PAR : "(" > } TOKEN : { < CLOSE_PAR : ")" > } TOKEN :…
9.JavaCC官方入门指南-例4
例4:计算器--添加减法运算 1. calculator1.jj 为了使得计算器具备更多功能,我们需要更多的操作符,比如减法.乘法和除法.接下来我们添加减法运算. 在词法分析器的描述部分,我们添加如下生产式: TOKEN : { < MINUS : "-" > } 在词法分析器的描述文件中,我们层在定义EOL和NUMBER这两个token时,使用竖线来表示"或"的意思,以此来区分不同的选项.在语法分析器的BNF生产式中,我们也同样用竖线来表示…
8.JavaCC官方入门指南-例3
例3:计算器-double类型加法 下面我们对上个例子的代码进行进一步的修改,使得代码具有简单的四则运算的功能. 第一步修改,我们将打印出每一行的值,使得计算器更具交互性.一开始,我们只是把数字加起来,然后再关注其他运算,比如减法.乘法和除法. 1.Options和class声明块 描述文件calculator0.jj的第一部分如下所示: /* calculator0.jj An interactive calculator. */ options { STATIC = false…
7.JavaCC官方入门指南-例2
例2:整数加法运算--改良版(增强语法分析器) 1.修改 上一个例子中,JavaCC为BNF生产式所生成的方法,比如Start(),这些方法默认只简单的检查输入是否匹配BNF生产式指定的规范.但是我们也可以用java代码来扩充BNF生产式,使得由生产式生成的方法中也包含java代码. 我们加下来会对上面例一中的adder.jj代码做一些修改.对于其中的Start这个BNF生产式,我们加入一些声明和java代码,如下所示: int Start() throws NumberFormatEx…
6.JavaCC官方入门指南-例1
例1:整数加法运算 在这个例子中,我们将判断如下输入的式子是否是一个合法的加法运算: 99 + 42 + 0 + 15 并且在输入上面式子的时候,数字与加号之间的任何位置,都是可以有空格或者换行符的,也就说,即使我们输入的式子是下面这种形式,我们所编写的词法和语法分析器也应该要能判断出来它是一个合法的加法运算表示形式: 99 + 42 + 0 + 15 (注:上面输入的式子中既有空格,也有制表符,还有换行符) 1.Option块和class声明块 语法描述文件的第一部分是: /*…
10.JavaCC官方入门指南-例5
例5:计算器--添加乘除法运算 1.calculator2.jj 根据上一个例子,可知要添加乘法和除法运算是很简单的,我们只需在词法描述部分添加如下两个token: TOKEN : { < TIMES : "*" > } TOKEN : { < DIVIDE : "/" > } 接下来我们修改Expression这个生产式,对它的修改跟上一步添加减号运算所做的修改很相似: Expression --> Primary (PLUS P…
5.JavaCC官方入门指南-概述
一.前言 在最开始使用JavaCC的时候,从网上查询了许多资料,但是网上的资料水平是参差不齐的,走了许多弯路,不得已自己查阅了英文版官网文档.令我伤心的是最后我回过头来再看那些博客资料时,发现其实他们写的都是没错的,只不过某些地方少了必要的讲解,以至于新手刚接触的时候是持续懵逼的. 不管怎样,下面内容是对官方文档的翻译,加上一些自己的理解. 官方文档连接:https://www.engr.mun.ca/~theo/JavaCC-Tutorial/javacc-tutorial.pdf…
分布式服务框架 Zookeeper(三)官方入门指南
入门指南:使用ZooKeeper来协调分布式应用 这篇文档包含了让你快速上手ZooKeeper的信息.主要是针对那些想要试一把ZooKeeper的开发人员,包含了安装一个单一ZooKeeper服务器的简单指令,一些验证ZooKeeper是否运行的简单命令以及一个简单的编程例子.最后,为了方便,还写了一些关于更复杂的安装知识,比如运行一个备份的部署,以及优化事务记录.但是完整的商业部署过程需要参考ZooKeeper管理员指南. 前期条件 系统要求请参考管理手册. 下载 为了获取ZooKeeper的…
Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据
Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现影片数据的功能.在进行下步之前,点击“生成应用程序“对应用程序进行编译.右键单击Controllers文件夹,新建一个名为“MoviesController ”的控制器.在创建窗口各选项如下图所示 点击添加,将创建以下文件和文件夹: 项目的 Controllers 文件夹下新增MoviesContr…
Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型
Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framework框架下的实体框架(Entity Framework)数据访问技术,与模型类协同工作.实体框架(常简称为EF)支持一种称之为编码先行(Code First)的开发模式.编码先行使你通过编写简单的类(简称为POCO类,全称为"plain-old CLR objects."),来创建模型对象…