TXL语法基础

TXL语法基础

1 解析阶段

Txl主要使用语法理论中的标准术语:token/终结符、非终结符、解析树
还有一些不标准的术语:模式、类型、变量、程序、修饰符

1.1 token

语法 说明 实例
[id] 标识符 a A xyz a_long_name
[number] 正数 3 3.4 (not -2.3)
[charlit] 字符串(单引号) ‘this’
[stringlit] 字符串(双引号) “that”
[comment] 注释 由Comments语句指定,使用命令行选项"-comment"
[space] 空白符、制表符
[newline] 换行符 NL(unix)、CR LF(windows)
[empty] 始终匹配且不消耗输入内容
[key] 关键字 有Keys语句指定
[any] 通用符号

1.2 修饰符

括在方括号中的任何 都可以通过修饰符进行修饰,如果要修改的项目是显式标识符或终结符,则必须使用前导单引号引用它。例如,[opt’;]表示可选分号,而[opt;]表示非法。

修饰符 说明 使用实例 实例说明 缩写
opt 当前类型是可选的 [opt elseClause] else子句可有可无 [X?]
repeat 匹配当前类型0个或多个序列 [repeat id] 0个或多个连续标识符 [X*]
repeat+ 匹配当前类型1个或多个序列 [repeat statement+] 1个或多个连续语句 [X+]
list 匹配","分割的序列(可能为空) [list formalParameter] 0个或多个参数 [X,]
list+ 匹配","分割的序列(不能为空) [list formalParameter+] 1个或多个参数 [X,+]
attr 暂时存储当前符号的某些属性 -
see 匹配前缀 [see X] 以X为前缀 [:X]
not 不匹配前缀 [not X] 不以X为前缀 [~X]
push 匹配当前与下一pop标记的两个非终结符 实例如下 [>X]
pop 与pop配对 实例如下 [<X]

实例1:记录id对应的类型,并在反解析阶段输出

---------
解析阶段:

define typeName
	'int | 'string
end define

define typed_id
	[id] [attr typeName]        % [attr] means that the [typeName] is an
                              % optional attribute
end define

---------
反解析阶段:

function inferTypeFrom Expn [expression]
	replace [typed_id]
		Id[id]
	deconstruct Expn
		% checks to see whether the expression is a
		% binary operation acting on two numbers
		First [number] Op [binary_operator] Second [number]
	by
		Id 'int
end function

实例2:仅解析其开始(push)和结束标记(pop)标识符匹配的元素

define matched_tag
	< [push id] > [repeat content] </ [pop id] > 
end define 

1.3 语句

1)Keys语句
实例:将program等标记为关键字,其中“end”为TXL自身关键字,前面需要添加转义字符"’"

keys
	program procedure function
	repeat until for while do 'end
end keys

2)Compounds语句
实例:将:=等多字符序列识别成1个token,其中“%”为TXL自身关键字,前面需要添加转义字符"’"

compounds
	:= <= >= -> <-> '%=
end compounds

3)Comments语句
实例:列出了输入语言的注释括号,每行一对。

comments
	//
	/* */
end comments

4)Tokens语句
实例:扩展token类别,将"0[Xx][\dABCDEFabcdef]+"正则式表示为hexnumber

tokens
	hexnumber  "0[Xx][\dABCDEFabcdef]+
### 回答1: 2023年,TXL是一款集短信、相册和通讯录功能为一体的全新APP,具备双端完美版的特点。 首先,TXL的短信功能提供了更加方便快捷的短信交流方式。用户可以通过TXL应用即时发送和接收短信,而不再需要打开手机自带的短信应用。TXL的短信功能还支持群发和群聊,方便用户与多个联系人进行批量信息传递和群组交流。同时,TXL还具备消息提醒功能,能够及时通知用户收到的新短信。 其次,TXL的相册功能能够帮助用户进行照片管理和分享。用户可以将手机中的照片导入到TXL的相册中,并进行分类整理,方便查找和浏览。用户还可以选择将相册中的照片分享给朋友和家人,使得图片传输更加便捷。 最后,TXL的通讯录功能也是其重要的特点之一。用户可以将手机中的联系人同步到TXL的通讯录中,实现联系人的备份和管理。此外,通讯录还支持添加和修改联系人信息,并具备搜索功能,方便用户快速找到需要的联系人。 总的来说,2023年的TXL短信相册通讯录APP是一款双端完美版的应用,将短信、相册和通讯录三大功能集于一身,为用户提供更加便捷和高效的通信和联系方式。无论是短信交流、照片管理还是联系人备份,TXL都将成为用户生活中必不可少的应用。 ### 回答2: 2023年的TXL短信相册通讯录app双端完美版是指该应用程序在手机和电脑等多个平台上都可以完美运行,并且可以实现短信、相册和通讯录的高效管理和同步功能。 首先,该应用程序在手机端可以安装在各类智能手机上,无论是iOS系统还是Android系统,用户都可以轻松下载并安装。在手机上,用户可以通过该应用程序方便地管理自己的短信,包括查看、发送、删除和存储等功能。同时,该应用程序还具备相册管理功能,用户可以随时查看、编辑和分享自己的照片。此外,该应用还能够帮助用户整理和备份手机中的通讯录信息,实现信息的同步和保护。 而在电脑端,用户可以通过浏览器或者专门的软件来使用该应用程序。在电脑上,用户可以登录自己的账号,并将手机中的短信、相册和通讯录信息同步到电脑上进行管理和查看。用户可以通过电脑端更方便地进行短信的批量发送、相册照片的编辑和整理,以及通讯录的导入和导出等操作。 双端完美版的TXL短信相册通讯录app能够有效地解决手机和电脑之间的信息同步和管理问题,使得用户可以更加方便地随时随地查看和操作自己的短信、相册和通讯录信息。它不仅简化了用户的操作流程,提高了工作效率,还保证了信息的安全性和可靠性。这样的应用程序将会成为2023年用户的理想选择。 ### 回答3: 2023 TXL短信相册通讯录是一款双端完美版的应用程序,旨在帮助用户更方便地管理短信、相册和通讯录。 首先,在短信管理方面,该应用程序提供了功能强大的短信管理工具。用户可以查看、发送和接收短信,还可以对短信进行分类、删除和导出等操作。同时,该应用程序还支持短信备份和恢复功能,用户可以随时备份和还原重要的短信。 其次,在相册管理方面,该应用程序提供了一个直观且易于使用的界面,用户可以浏览、编辑和分享相册中的照片。此外,该应用程序还支持相册备份和恢复功能,以确保用户的照片永远不会丢失。 最后,在通讯录管理方面,该应用程序提供了一个全面的通讯录管理工具。用户可以查看、编辑和删除联系人信息,并且还可以导入和导出联系人。此外,该应用程序还支持通讯录同步功能,可以将用户的通讯录与其他设备同步,以确保联系人信息的一致性。 总之,2023 TXL短信相册通讯录是一款功能齐全的双端完美版应用程序,帮助用户更方便地管理短信、相册和通讯录。无论是在短信管理、相册管理还是通讯录管理方面,该应用程序都能满足用户的需求,并提供强大的备份和恢复功能,确保用户的数据永远不会丢失。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值