谷歌simple框架中文文档.

上传人:今*** 文档编号:105972941 上传时间:2019-10-14 格式:DOC 页数:48 大小:2.53MB
返回 下载 相关 举报
谷歌simple框架中文文档._第1页
第1页 / 共48页
谷歌simple框架中文文档._第2页
第2页 / 共48页
谷歌simple框架中文文档._第3页
第3页 / 共48页
谷歌simple框架中文文档._第4页
第4页 / 共48页
谷歌simple框架中文文档._第5页
第5页 / 共48页
点击查看更多>>
资源描述

《谷歌simple框架中文文档.》由会员分享,可在线阅读,更多相关《谷歌simple框架中文文档.(48页珍藏版)》请在金锄头文库上搜索。

1、 Simple语言定义草案2009年 6月作者: Herbert Czymontek翻译: Janeky(阿健)Email:注意:此翻译版本可能不是最新的。详细信息参阅官方网站或发邮件查询 Simple语言定义-by Janeky语法Simple语言采用“扩展巴克斯格式”(Extended Backus-Naur Form EBNF).以下一些标志将会被用到:y| 用于分开一个个可供选择的对象,即“或”。y ()定义一个组合y 指定一个选择(或者次)从里面定义的对象中选择个或者个y 指定重复对象(或者次)词法标志都将用黑体和蓝色突出显示,例如,数字:。词法结构源文件是纯文本文件。缺省的字符编码

2、是 。跟其他编程语言不同,语言是区分大小写的。行尾结束字符Simple 语言由“行”(line)构成。所有的语法都由“行结束字符”区分开。以下的“行尾结束字符”能够被识别:yyyUnicode字符 u000D (回车)。Unicode字符 u000A (换行)。Unicode字符 u000D (回车) 后面跟着u000A (换行)(-译者注:Windows环境)EndOfLine := (CR | LF | CR LF)可以用一个“行连续符”(Unicode u005F (_下划线))放在行结束字符前面取消换行功能。(注意,合法标识符的第一位不能是“_”)空白符以下的字符被称为空白符,用以区分

3、一个个 token:yyUnicode u0009 (TAB-tab制表符)Unicode u000B (VT 纵向制表符) Simple语言定义-by JanekyyyUnicode u000C (FF-换页符号)Unicode u0020 (SP-空白键符)Whitespace := (TAB | VT | FF | SP)Tokens 从源文件读入的字符串被分成一系列的 tokens。Tokens是语法的终结符。编译器总是先尝试寻找可能存在的最长字符串来定义一个 token。例如,输入字符串“ab”,将被分析成标识符 a,左移运算符和标识符 b。而字符串“a b”将被解析成标识符 a,小

4、于号,小于号,和标识符 b注释注释等同于空白符。Simple语言目前只是支持单行注释。注释以单引号 (Unicode u0027)开始,以行尾结束符结束。注释不能以一个字符串常量开始。Comment := 任何的 Unicode字符除了行尾结束符EndOfLine关键词以下的字符系列都是关键词,不能用于定义标识符Keywords := Alias | And | As | Boolean | ByRef | Byte | ByVal | Case | Const | Date | Dim |Double | Each | Else | ElseIf | End | Error | Event

5、| Exit | For | Function | Get | If | In |Integer | Is | IsNot | Like | Long | Me | Static | Step | String | Sub | Then | To | TypeOf |Until | Variant | While | Xor标识符一个标识符是以一个符合 Java标准的字母符号(letter character),加上若干个符合 Java标准的字母(letters)或者符合 Java标准的数字符号(Java digit characters)或者下划线 _。Java字母就是经过 java方法 j

6、ava.lang.Character.JavaLetter()计算能返回 true的字符。而 Java数字字符就是经过 java方法 java.lang.Character.JavaDigit()计算能返回 true的字符。 Simple语言定义-by Janeky一个合法的标识符不能是关键词。Identifier := JavaLetter JavaLetter | JavaDigit | _ Literals(常量,变量,字面值,类型?) Literal是指一种固定类型的值。Simple语言有 interger(整型),floating point(浮点型),Boolean(布尔型),st

7、ring(字符型)和 object(对象型)Literal := IntegerLiteral | FloatingPointLiteral | BooleanLiteral | StringLiteral | ObjectLiteral整型(Integer Literals)整型适用于 Inteter类型或者 Long类型精度计算的数值常量。可以用十进制或者十六进制来表示整型。整型通常是无符号的正数,如果需要表示负数,需要在前面增加负号“”运算符。IntegerLiteral := DecimalIntegerLiteral | HexIntegerLiteralDecimalInteger

8、Literal := 0 | NonZeroDigit DigitNonZeroDigit := 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9Digit := 0 | NonZeroDigitHexIntegerLiteral := &H HexDigitHexDigitHexDigit := Digit | A | B | C | D | E | F浮点型(Floating Point Literals)浮点型适用于 Single类型或者 Double类型精度计算的数值常量。浮点型通常是无符号的。如果要表示负数,需要加负号运算符“”前缀FloatingPointLite

9、ral := DecimalIntegerLiteral . Digit Digit ExponentExponent := E + | - DecimalIntegerLiteral Simple语言定义-by Janeky布尔类型(Boolean Literals)布尔类型是指 Boolean修饰的,包括两个值 true或者 false。BooleanLiteral := True | False字符串类型(String Literals)字符串类型是指用双引号“前后修饰的 Unicode字符串。一个字符串类型就是用 String修饰的量。如果我们要在一个字符串类型里面用到双引号本身,需要

10、在双引号前面加反斜杠“”。同理,要表示反斜杠本身也需要加反斜杠。还有换行符(n),回车键(r),制表符( t )和换页符(f)也是同样道理。StringLiteral := “ StringCharacter ”StringCharacter := InputCharacter except “ and |InputCharacter := any 16-bit Unicode characterEscapedCharacter := | ”| n | r | t | fEscapedCharacter对象类型(Object Literal)如果一个 Object类型对象不表示任何 objec

11、t,可以用 Nothing修饰ObjectLiteral := Nothing分隔符(Separators)分隔符包括以下:Separator := (|)|,|: Simple语言定义-by Janeky运算符(Operators)Simple语言运算符包括以下:Operator := | | = | = | | = | | | & | + | - | | * | / | | .类型和值(Types and Values)基本类型Type := NonArrayType | ArrayTypeNonArrayType := Boolean | Byte | Short | Integer |

12、 Long | Single | Double | String |Date | Variant | ObjectType | ArrayTypeBoolean类型Boolean类型用来表示两个逻辑值: true和 false。Simple语言中定义为 True和 FalseByte类型Byte类型表示 8位的有符号整数值,在 -128到 127之间Short类型Short类型表示 16位的有符号整数值,在-32768到 32767之间Integer类型Integer类型表示 32位的有符号整数值,在-2147483648到 2147483647之间 Simple语言定义-by JanekyL

13、ong类型Long类型表示 64位的有符号整数值,从-9223372036854775808到 9223372036854775808Single类型Single类型代表 32位的单精度浮点数,遵循 IEEE 754标准Double类型Double类型代表 64位的双精度浮点数,同样遵循 IEEE 754标准String类型String类型表示一系列的字符串(可能是空)Date类型Date类型跟 Java中的 java.util.Calendar类相匹配Variant类型Variant类型是一种分解的集合(disjoint union),可以表示任何顺序的其他数据类型(基本类型、数组,对象类型

14、等)Array 类型ArrayType := NonArrayType ( Expression , Expression | , )Array类型表示相同类型元素的集合,可以通过下标来访问。一个 Array可以有一维或者多维(最多 256) Simple语言定义-by JanekyArray可以先确定每维的元素个数,或者不确定(动态决定 size)Object类型Object := Object | IdentifierObject类型的值是其引用的 object实例,或者表示没有任何实例,Nothing。继承(Inheritance)被认为是设计阶段(design time)的性质,意味着没有外在的语法来确定 object的关系。除此之外的信息存储在源文件的一个特定区域(更多关于源文件格式的信息见附录)。Simple支持接口的继承和实现。一个接口 Interface对象只能定义常量和没有函数体的函数声明。Object(接口除外)有两个预先定义的事件 eventyy当 Object的任何成员被

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号