- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Simple语言定义
草案
2009年 6月
作者: Herbert Czymontek
翻译: Janeky(阿健)
Email:rojaneky@
注意:此翻译版本可能不是必威体育精装版的。详细信息参阅官方网站或发邮件查询
Simple语言定义-by Janeky
语法
Simple语言采用“扩展巴克斯格式”(Extended Backus-Naur Form –EBNF).以下一些标志将
会被用到:
y
| -用于分开一个个可供选择的对象,即“或”。
y ()-定义一个组合
y []-指定一个选择(0或者1次)从里面定义的对象中选择0个或者1个
y {}-指定重复对象(0或者n次)
词法标志都将用黑体和蓝色突出显示,例如,数字1:1。
词法结构
源文件是纯文本文件。
缺省的字符编码是 UTF-8。
跟其他BASIC编程语言不同,Simple语言是区分大小写的。
行尾结束字符
Simple 语言由“行”(line)构成。所有的语法都由“行结束字符”区分开。以下的“行尾
结束字符”能够被识别:
y
y
y
Unicode字符 \u000D (CR-回车)。
Unicode字符 \u000A (LF-换行)。
Unicode字符 \u000D (CR-回车) 后面跟着\u000A (LF-换行)
(-译者注:Windows环境)
EndOfLine := (CR | LF | CR LF)
可以用一个“行连续符”(Unicode \u005F (_下划线))放在行结束字符前面取消换行功能。
(注意,合法标识符的第一位不能是“_”)
空白符
以下的字符被称为空白符,用以区分一个个 token:
y
y
Unicode \u0009 (TAB-tab制表符)
Unicode \u000B (VT –纵向制表符)
Simple语言定义-by Janeky
y
y
Unicode \u000C (FF-换页符号)
Unicode \u0020 (SP-空白键符)
Whitespace := (TAB | VT | FF | SP)
Tokens
从源文件读入的字符串被分成一系列的 tokens。Tokens是语法的终结符。编译器总是先尝试
寻找可能存在的最长字符串来定义一个 token。例如,输入字符串“ab”,将被分析成标识
符 a,左移运算符和标识符 b。而字符串“a b”将被解析成标识符 a,小于号,小于号,
和标识符 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 | 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方法 java.lang.Character.JavaLetter()计算能返回 true的字符。而 Java数
字字符就是经过 java方法 java.lang.Character.JavaDigit()计算能返回 true的字符。
Simple语言定义-by Janeky
一个合法的标识符不能是关键词。
Identifier := JavaLetter { JavaLetter | JavaDigit | _ }
Literals(常量,变量,字面值,类型?)
Literal是指一种固定类型的值。Simple语言有 interger(整型),floating point(浮点
文档评论(0)