我正在尝试将ParseKit 的标记 化与 SQL Server 语法一起使用。如果您看一下以下示例:
CREATE PROCEDURE [dbo].[test]
@MyId UNIQUEIDENTIFIER
AS
BEGIN
-- something something
END
GO
我正在使用以下内容来设置注释(和多行注释):
PKTokenizer *t = [PKTokenizer tokenizerWithString: [inputString substringWithRange: range]];
// SQL does not support // comments.
[t.commentState removeSingleLineStartMarker: @"//"];
// But it does support -- comments.
[t setTokenizerState:t.commentState from: '-' to:'-'];
[t.commentState addSingleLineStartMarker: @"--"];
[t setTokenizerState: t.commentState from: '/' to: '/'];
[t.commentState addMultiLineStartMarker: @"/*" endMarker: @"*/"];
它设置了对处理 sql 注释的支持。现在我正在尝试添加对检测参数的支持,例如@MyId
. 当前标记器将这些作为单词提取,但不包含@
在字符串值中。我的想法是尝试delimitState
通过做来使用:
[t.delimitState addStartMarker: @"@" endMarker: @" " allowedCharacterSet: [NSCharacterSet alphanumericCharacterSet]];
然后检查token.isDelimitedString
,但似乎没有任何反应。
我要解决这个问题了吗?关于如何@
在我的单词状态中包含的任何建议?