摘要: 语法的二义性 JavaCC不能分析所有EBNF描述的语法,因为EBNF描述的语法本质上具有二义性的情况。C语言中if语句用JavaCC的EBNF可以是如下描述: 作为符合上述规则的具体代码,可以由如下例子: 根据上面的规则分析下这段代码,直观的看上述代码表述的应该是这样的: 但是依据规则仔细分析下,阅读全文
posted @ 2017-07-12 22:03 orlion 阅读(101) 评论(0) 编辑
摘要: 基于JavaCC的语法描述 使用JavaCC从token序列中识别出"语句" “表达式” “函数调用” 等语法单位的方法。 只要为JavaCC描述“语句” “表达式” “函数调用” 这样的语法单位各自是由怎样的token序列构成的,就能够对该语法进行分析(parse)。 例如:最简单的赋值表达式可以阅读全文
posted @ 2017-07-05 21:10 orlion 阅读(256) 评论(0) 编辑
摘要: 一、JavaCC JavaCC是java的compiler compiler。JavaCC是LL解析器生成器,可处理的语法范围比较狭窄,但支持无限长的token超前扫描。 安装过程: 我是从github上down下来的zip压缩包,然后安装了下ant, 然后通过ant安装的javacc 1. 首先下阅读全文
posted @ 2017-06-29 22:30 orlion 阅读(223) 评论(0) 编辑
摘要: 一、 最近用在学习golang,写了个小工具练练手。通过golang模拟微信网页端,接收微信服务器的消息并定制。可接入图灵机器人的api实现一个微信机器人的小玩具,当然了,可以有更多更好玩的玩法。 二、 地址: https://github.com/Orlion/Gochat Gochat 一个Go阅读全文
posted @ 2017-04-24 22:11 orlion 阅读(896) 评论(0) 编辑
摘要: Go语句和通道类型是Go语言的并发编程理念的最终体现。与defer语句相同,go语句也可以携带一个表达式语句。Go语句的执行会很快结束,并不会对当前流程的进行造成阻塞或明显的延迟。一个简单的示例: go语句仅由一个go关键字和一条表达式语句组成。同样的,go语句的执行与其携带的表达式语句的执行在时间阅读全文
posted @ 2017-03-21 20:33 orlion 阅读(225) 评论(0) 编辑
摘要: 一、defer语句 defer语句仅能被放置在函数或方法中。它由关键字defer和一个调用表达式组成。这里的表达式所表示的既不能是对Go语言内建函数的调用也不能是对Go语言标准库代码包unsafe中的那些函数的调用。实际上,满足上述条件的表达式被称为表达式语句。例: 函数readFile的功能是读取阅读全文
posted @ 2017-03-20 21:12 orlion 阅读(73) 评论(0) 编辑
摘要: 一、if语句 Go的流程控制主要包括条件分支、循环和并发。 if语句一般由if关键字、条件表达式和由花括号包裹的代码块组成。在Go中,代码块必须由花括号包裹。这里的条件表达式是结果类型为bool的表达式。例: else分支: if语句还支持串联 上面的number变量可以用单独的语句来声明也可以直接阅读全文
posted @ 2017-03-19 18:12 orlion 阅读(1019) 评论(0) 编辑
摘要: 一、函数 Go中函数是一等(first-class)类型。我们可以把函数当作值来传递和使用。Go中的函数可以返回多个结果。 函数类型字面量由关键字func、由圆括号包裹声明列表、空格以及可以由圆括号包裹的结果声明列表组成。其中参数声明列表中的单个参数声明之间是由英文逗号分隔的。每个参数声明由参数名称阅读全文
posted @ 2017-03-18 15:36 orlion 阅读(2362) 评论(0) 编辑
摘要: 一、Go语言基础 1. 基础 Go语言中的标识符必须以字母(Unicode字母,PHP/JS可以用中文作为变量名)下划线开头。大写字母跟小写字母是不同的:Hello和hello是两个不同的名字。 Go中有25个关键字: 如果一个名字是在函数内容定义,那么它的作用域就在函数内容,如果在函数外部定义,那阅读全文
posted @ 2017-03-12 18:21 orlion 阅读(620) 评论(0) 编辑
摘要: 一、安装 安装Webpack之前需要安装nodejs,然后用npm安装: &nsbp;运行以上命令就将Webpack安装到了全局环境中。 但是通常我们会将Webpack只安装到项目的依赖中: 二、使用 首先创建一个index.html和entry.js文件: 然后编译 entry.js 并打包到 b阅读全文
posted @ 2017-03-10 20:26 orlion 阅读(1618) 评论(0) 编辑