Skip to content

Latest commit

 

History

History

TestCases

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

case_01

case_01样例中,@、$属于当前语言标识符和运算符中的非法字符,出现时会导致词法错误,但字符串中出现这两个字符是合理的。

case_02

case_02样例中,既测试了普通整数(109238)、小数(3.14)的识别,又测试了1.和.7这一类未输入完整的小数的识别。

case_03

case_03样例中,样例3、4行出现了字符串跨行的词法错误。

case_04

各类注释的识别

包含三类注释

//单行注释

#单行注释

/**/多行注释

说明:

样例第3行#split N被正确识别为注释,所以split和N都没有被当成标识符输出。同理,第5行的///This is/ a comment、第8行的/*?*/、第8行到第12行中的/**/间的部分(如下图)也都被正确识别为注释,其中的字符都没有被识别输出。第13行的注释/*没有闭合,属于一个词法错误,

/*
     KR = K - KL

     integer N_L = ceiling(N * KL / K)      #split N
     integer _NR*/

case_05

case_05样例中,整合了前四个样例中异常字符词法错误、字符串跨行词法错误、注释/**/未闭合词法错误、注释识别、特殊形式实数识别的可能。