如何对Microsoft Access标识符进行词法分析?
Microsoft Access风格标识符词法分析规则
基础标识符类型
- 普通标识符(无方括号):由字母、数字、下划线组成,必须以字母或下划线开头,不能包含空格或其他特殊字符,例如
myid。 - 带方括号的标识符:以
[开头、]结尾,中间可包含任意字符(包括空格、特殊符号),例如[myid]、[my identifier]。
转义规则
在方括号包裹的标识符内部,仅需对]进行转义:
- 用连续两个
]]表示一个实际的]字符; - 内部的
[无需转义,直接作为标识符的一部分即可。
示例: - 要表示标识符
my]id,需写成[my]]id]; - 要表示标识符
my[id],需写成[my[id]]。
边界与极端情况处理
- 空标识符:
[]属于非法标识符,词法分析时需抛出错误。 - 未闭合的方括号:扫描到
[后,若直到输入结束都未找到匹配的非转义],视为语法错误。 - 普通标识符合法性校验:拒绝以数字开头的普通标识符(如
123id),以及包含空格/特殊字符的无括号标识符(如my id)。 - 转义字符的边界判断:在方括号模式下,遇到
]]时仅保留一个],遇到单个]则结束标识符;遇到[直接保留,无需特殊处理。
内容的提问来源于stack exchange,提问作者John Källén
相关产品推荐
相关产品推荐

