Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебные пособия / ТЯПиМТ / новая курсовая работа.doc
Скачиваний:
63
Добавлен:
02.04.2015
Размер:
501.25 Кб
Скачать

Приложение 2 Примеры тестов для вариантов задания на курсовую работу

  1. Исходный язык – подмножество Pascal

Вход:

program p;

procedure f1(a:boolean);

var z:character;

begin

z:=’a’;

if a then z:=z+1

else z:=z-1;

end;

begin

f1(false);

end.

Выход:

Семантическая ошибка: z– использование идентификатора не в соответствии с типом

    1. Исходный язык – подмножество C

Вход:

int i,j;

void f1(char i)

{ if(i) f1(i--);

else return;

}

void main()

{ bool a=false;

f1(true); i=1;

f1(10);

f1("1.3");

}

Выход:

Семантическая ошибка: f1– использование идентификатора не в соответствии с типом

    1. Исходный язык – подмножество Java

Вход:

class Point { int x, у;

public static void main(String args[]) {

Point p = new Point();

р.х = 10;

p.у = 20;

p.z = 30;

System.out.println("x = " + р.x + " у = " + p.y + " z = " + p. z);

} }

Выход:

Семантическая ошибка: р.z– использование необъявленного идентификатора

    1. Исходный язык – подмножество Flex

Вход:

letter [a-z]

digit [0-9]

identifier {letter}({letter}|{digit})*

%%

{identifier} {cout<<”идентификатор”<<yytext; return ID_token;}

{semicolon} {cout<<”точка с запятой”<<yytext; return S_token;}

%%

Выход:

Семантическая ошибка: semicolon– использование необъявленного идентификатора

    1. Исходный язык – подмножество Perl

Вход:

my $var=’a’;

print “$var=’$var’\n”;

sub1();

sub sub1{

$var=’b’;

my $lvar=’c’;

print “$lvar=’$lvar’\n”;

sub2();

print “$var=’$var’\n”;

}

sub sub2{

print “$var=’$var’\n”;

$var=’d’;

print “$lvar=’$lvar’\n”;

}

Выход:

Семантическая ошибка: $lvar– использование необъявленного идентификатора

    1. Исходный язык – подмножество Lisp

Вход:

(defun list1(x y)

(cons x (cons y nil)))

(setq list1 ‘a)

(list1 list1 ‘b)

(list1 a list1)

Выход:

Семантическая ошибка: a– использование необъявленного идентификатора

    1. Исходный язык – подмножество Prolog

Вход:

domains

int=integer*

predicates

ord(int)

clauses

ord([A]).

ord([A,B|C]):-A>C,ord([B|C]).

Выход:

Семантическая ошибка: C – использование идентификатора не в соответствии с типом

    1. Исходный язык – подмножество Matlab

Вход:

function[]=main()

r=5; x0=3; y0=-3;

circle(r,x0,y0);

circle(r)

function[]=circle(r,x0,y0)

if(nargin<3), y0=0;end

if(nargin<2), x0=0;end

t=0:pi/64:2*pi;

x=x0+r*cos(t);

y=y+r*sin(t);

plot(x,y), axis equal, grid on, hold on

xlabel(‘x’), ylabel(‘y’), title(‘circle’)

Выход:

Семантическая ошибка: yиспользование необъявленного идентификатора

    1. Исходный язык – подмножество VisualBasic

Вход:

Dim Result As Date

Sub MultiplyEm(Value1 As Single, Value2 As Single)

Result =Value1*Value2

End Sub

Sub TestProc()

Dim V1 As Single, V2 As Single

V1=5

V2=7

MultiplyEm (V1, V2)

End Sub

Выход:

Семантическая ошибка:Result – использование идентификатора не в соответствии с описанием

    1. Исходный язык – подмножество Shell

Вход:

for i in *

do

echo $j

done

Выход:

Семантическая ошибка: j– использование необъявленного идентификатора

Приложение 3 График выполнения курсовой работы

№ этапа

Содержание этапа

№ недели отчетности

Рейтинг

1

Выполнение лабораторной работы «Средства автоматизации построения синтаксических анализаторов»

2

5

2

Ознакомление с исходным языком, подготовка тестовых примеров

4

10

3

Подготовка формального описания синтаксиса исходного языка

6

10

4

Разработка грамматики свойств

7

10

5

Разработка программной реализации

11

15

6

Тестирование программы

13

5

7

Подготовка пояснительной записки

14

5

8

Защита курсовой работы

16

40

Соседние файлы в папке ТЯПиМТ