You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if else int return void while input output
+ - * / > < >= <= == != ; , = ( ) [ ] { }
31 _dwa
// comment
/* multi
comment */
覆盖范围
测试用例
词法分析:不合法字符的错误处理
t2.tny
结果
测试用例内容
void main(){
深
}
覆盖范围
测试用例
语法分析:语法规则第1-5条
t3.tny
结果
测试用例内容
int x;
int x[10];
覆盖范围
测试用例
语法分析:语法规则第1-12条
t4.tny
结果
测试用例内容
void main() {
}
int gcd(int x, int y){
}
覆盖范围
测试用例
语法分析:语法规则第1-15条、第17-24条、第26条
t5.tny
结果
测试用例内容
int minloc(int a[], int low, int high) {
if(a[i]< 1)
{ x =a[i];
k=i + 1;
}
return k;
}
覆盖范围
测试用例
语法分析:语法规则第1-14条、第16-24条、第26-29条
t6.tny
结果
测试用例内容
void sort( int a[], int low, int high)
{ int i; int k;
i=low;
while(i<high-1)
{ int t;
k=minloc(a,i,high);
}
}
覆盖范围
测试用例
语法分析:if-else 文法
t7.tny
结果
测试用例内容
void test() {
if(x < 1)
if (y < 2)
x = 3;
else
y = 3;
else
z = 4;
}
覆盖范围
测试用例
语法分析:末尾标记的错误处理
t8.tny
结果
测试用例内容
void sort( int a)
{
覆盖范围
测试用例
语法分析:中间标记的错误处理
t9.tny
结果
测试用例内容
void sort( int a)
{
int
}
覆盖范围
测试用例
项目指导书第1个测试用例(修改了第11行)
t10.tny
结果
测试用例内容
/* A program to perform Euclid's
Algorithm to compute gcd. */
int gcd (int u, int v)
{ if (v == 0)return u;
else return gcd(v, u-u/v*v);
/* u-u/v*v == u mod v */
}
void main(void) {
int x; int y;
x = input();
y = input();
output(gcd(x, y));
}
覆盖范围
测试用例
项目指导书第2个测试用例
t11.tny
结果
测试用例内容
/* A program to perform selection sort on a 10
element array. */
int x[10];
int minloc(int a[], int low, int high)
{ int i; int x; int k;
k = low;
x = a[low];
i = low + 1;
while(i<high)
{ if(a[i]< x)
{ x =a[i];
k=i;
}
i=i+1;
}
return k;
}
void sort( int a[], int low, int high)
{ int i; int k;
i=low;
while(i<high-1)
{ int t;
k=minloc(a,i,high);
t=a[k];
a[k]= a[i];
a[i]=t;
i=i+1;
}
}
void main(void)
{ int i;
i=0;
while(i<10)
{ x[i]=input();
i=i+1;
sort(x,0,10);
i=0;
while(i<10)
{ output(x[i]);
i=i+1;
}
}
}
覆盖范围
测试用例
Fibonacci,函数递归调用
t12.tny
结果
测试用例内容
// Fibonacci 1 1 2 3 5 8 13 21
int f(int m)
{
if (m <= 2)
return 1;
else
return f(m - 1) + f(m - 2);
}
void main() {
int x;
x = input();
output(f(x));
}
覆盖范围
测试用例
项目指导书第2个测试用例,输入十次
t13.tny
结果
测试用例内容
/* A program to perform selection sort on a 10
element array. */
int x[10];
int minloc(int a[], int low, int high)
{ int i; int x; int k;
k = low;
x = a[low];
i = low + 1;
while(i<high)
{ if(a[i]< x)
{ x =a[i];
k=i;
}
i=i+1;
}
return k;
}
void sort( int a[], int low, int high)
{ int i; int k;
i=low;
while(i<high-1)
{ int t;
k=minloc(a,i,high);
t=a[k];
a[k]= a[i];
a[i]=t;
i=i+1;
}
}
void main(void)
{ int i;
i=0;
while(i<10) {
x[i]=input();
i=i+1;
}
sort(x,0,10);
i=0;
while(i<10) {
output(x[i]);
i=i+1;
}
}
覆盖范围
测试用例
函数栈本地普通变量环境的记录与恢复
t14.tny
结果
测试用例内容
int f(int m)
{
int a;
if (m <= 2) {
a = m + 1;
return a;
}
else {
a = m + 2;
return f(m - 1) + a;
}
}
void main() {
int x;
x = input();
output(f(x));
}
覆盖范围
测试用例
函数栈本地数组变量环境的恢复的记录与恢复
t15.tny
结果
测试用例内容
int f(int m)
{
int a[2];
if (m <= 2) {
a[0] = m + 1;
return a[0];
}
else {
a[1] = m + 2;
return f(m - 1) + a[1];
}
}
void main() {
int x;
x = input();
output(f(x));
}
覆盖范围
测试用例
检查普通变量有无重复声明(MySemanticAnalyzer.py的112行-120行)
t16.tny
结果
测试用例内容
void fun( )
{ int i; int i;
}
void main(){
}
覆盖范围
测试用例
检查数组有无重复声明(121行-131行)
t17.tny
结果
测试用例内容
void fun( )
{ int a[2];
int a[2];
}
void main(){
}