1
使用文件“测试lexer.lisp”,我已经很稍微修改法是试图在包含文件中使用CL-词法“{”和“}”
(defparameter *lex* (test-lexer "{ 1.0 12 fred 10.23e12"))
和增加次测试的重复数到6
(defun test()
(loop repeat 6
collect (multiple-value-list (funcall *lex*))))
,并试图修改测试词法分析器在多种方式,试图使其接受“{”作为标记。
例如,添加[:PUNCT:]在(deflexer测试词法分析器...)
通过改变
("[:alpha:][:alnum:]*"
(return (values 'name %0)))
到
("[:alpha:][:alnum:][:punct:]*"
(return (values 'name %0)))
和一致地得到错误等
“”“Lexer无法识别”{1.0 12 fred 10.23e12“,位置0(”{1.0 12 fred 10.2 3e“) [”简单错误类型的条件“]”“”
如何指定“{”作为要识别的字符?还是我的问题在其他地方?