Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Завдання на курсову роботу
Цільова мова транслятора асемблер (i86).
Для отримання виконавчого файлу на виході розробленого транслятора скористатися програмами Turbo Assembler або MASM32.
Мова розробки транслятора: ANSI C, C++, C#, PHP, JAVA.
Реалізувати оболонку або інтерфейс командного рядка.
На вхід розробленого транслятора має подаватися текстовий файл, написаний на заданій мові програмування.
На виході розробленого транслятора мають створюватись чотири файли: файл з повідомленнями про помилки (або про їх відсутність), файл на мові асемблера, обєктний та виконавчий файли.
Назва вхідної мови програмування утворюється від першої букви у прізвищі студента та номера його варіанту. Саме таке розширення повинні мати текстові файли, написані на цій мові програмування.
Назва виконавчого файлу транслятора утворюється від назви мови програмування додаванням літери “с” (від compiler).
Зауваження. 1) В кожному завданні передбачається блок оголошення змінних;
2) В кожному завданні обовязковим є оператор присвоєння та оператор типу блок;
3) Оператори можуть бути довільної вкладеності і в любій послідовності.
КІ-34 (2012)
№ з/п |
Блок тіла програми |
Оператори вводу-виводу |
Оператор присвоєння |
Оператор |
Регістр ключових слів |
Регістр іден-тифікаторів |
Операції |
Типи даних |
Коментар |
||
арифметичні |
порівняння |
логічні |
|||||||||
1 |
name <name>; body data…; end |
streamget streamset |
<- |
while do (Паскаль) |
Low |
Low8 перший символ _ |
add; sub; mul; div; mod |
=; <>; >; <; |
!!; &&; || |
integer32_t |
// ... // |
2 |
name <name>; data…;body-end |
scan |
:: |
do- while (СІ) |
Up |
Up-Low8 перший символ _ |
+; -; mul; div; mod |
=; <>; >=; <= |
!; &; | |
longint |
## ... ## |
3 |
name <name>; data…;body - end |
input output |
-> |
if - then [- else] (Паскаль) |
Up-Low перший символ Up |
Low-Up8 перший символ _ |
add; sub; *; /; % |
eg; ne; lt; gt |
!; &; | |
int16 |
\\ ... |
4 |
name <name>; data…; body- end |
read write |
:: |
for to next (Бейсік) |
Low |
Up8 перший символ _ |
++; --; **; div; mod |
=; <>; le; ge |
!!; &&; || |
int32 |
// ... |
5 |
MainProgram Data…; Start - End |
scandataprintdata |
:: |
if [else] (СІ) |
Up-Low перший символ Up |
Low-Up4 перший символ _ |
+; -; *; /; % |
==; !=; le; ge |
not; and; or |
integer16_t |
#* ... *# |
6 |
mainprogram start data…; end |
scan |
-> |
if - then [- else] (Паскаль) |
Low |
Up6 перший символ _ |
add; sub; mul; div; mod |
=; <>; >; <; |
!; and; or |
integer 32_t |
{* ... *} |
7 |
MAIMPROGRAMDATA…; START - END |
get put |
<- |
for (СІ) |
Up |
Low6 перший символ _ |
+; -; mul; div; mod |
=; <>; >=; <= |
!; &; | |
longint |
??... |
8 |
MainProgram Start Data…; End |
streamin streamout |
:: |
repeat until (Паскаль) |
Up-Low перший символ Up |
Up-Low6 перший символ _ |
add; sub; *; /; % |
==; !=; >; < |
not; and; or |
intrger_2 |
%% ... %% |
9 |
name <name>; data…; body- end |
streamget streamset |
-> |
for to do (Паскаль) |
Low |
Low-Up6 перший символ _ |
+; -; *; div; mod |
==; !=; >=; <= |
!!; &&; || |
int_2 |
$$ ... |
10 |
NAME <name>; BODY DATA…; END |
input output |
>> |
while do (Паскаль) |
Up |
Up8 перший символ _ |
++; --; **; div; mod |
==; !=; !>; !< |
!!; &&; || |
int_4 |
/* ... */ |
11 |
Name <name>; Data…; Body -End |
read write |
:= |
if - goto; goto (Бейсік) |
Up-Low перший символ Up |
Low8 перший символ _ |
+; -; *; /; % |
=; <>; !>; !< |
not; and; or |
iny16_t |
!! ... |
12 |
name <name>; body data…; end |
scandataprintdata |
<< |
for downto (Паскаль) |
Low |
Low8 перший символ _ |
add; sub; mul; div; mod |
==; <>; >>; << |
!; and; or |
int32_t |
!! ... |
13 |
NAME <name>; DATA…; BODY - END |
scan |
:: |
while (CI) |
Up |
Up-Low8 перший символ _ |
+; -; mul; div; mod |
=, != , <<, >> |
!; &; | |
integer |
// ... |
14 |
Name <name>; Body Data…; End |
get put |
-> |
if - then goto; goto (Бейсік) |
Up-Low перший символ Up |
Low-Up8 перший символ _ |
add; sub; *; /; % |
eq; neq; ls; gr |
!!; &&; || |
integer 16 |
// ... // |
15 |
program <name>; var…; begin - end |
streamin streamout |
<- |
do- while (СІ) |
Low |
Up-Low2 перший символ Up |
+; -; *; div; mod |
eq; noteq; less; gr |
not; and; or |
Integer32 |
## ... ## |
16 |
PROGRAM <name>; BEGIN VAR…; END |
streamget streamset |
>> |
if - then [- else] (Паскаль) |
Up |
Low-Up2 перший символ Low |
++; --; **; div; mod |
eg; ne; lt; gt |
!; and; or |
integer32 |
\\ ... |
17 |
Program <name>; Var…; Begin - End |
input output |
:= |
for to next (Бейсік) |
Up-Low перший символ Up |
Up2 |
+; sbb; *; /; % |
eg; ne; >; < |
!; &; | |
integer _2 |
{ ... } |
18 |
program <name>; begin var…; end |
read write |
::= |
if [else] (СІ) |
Low |
Low2 |
add; sub; mul; div; % |
eq; ne; >>; << |
!!; &&; || |
integer_4 |
!! ...!! |
19 |
PROGRAM <name>; VAR…; BEGIN - END |
scandataprintdata |
<< |
if - then [- else] (Паскаль) |
Up |
Up-Low4 перший символ Up |
+; -; mul; div; mod |
==; !=; lt; gt |
not; and; or |
integer16_t |
/*… |
20 |
Program <name>; Start Var …; Finish |
scan |
:: |
for (СІ) |
Up-Low перший символ Up |
Low-Up4 перший символ Low |
add; sub; *; /; % |
=; <>; lt; gt |
!; and; or |
integer32_t |
#* ... *# |
21 |
program <name>; var …; start - finish |
get put |
-> |
repeat until (Паскаль) |
Low |
Up4 |
+; -; *; div; mod |
eq; ne; le; gr |
!; &; | |
longint |
{* ... *} |
22 |
PROGRAM <name>; START VAR …; FINISH |
streamin streamout |
<- |
for to do (Паскаль) |
Up |
Low4 |
++; --; **; div; mod |
eg; ne; >=; <= |
!!; &&; || |
int |
??... |
23 |
Program <name>; Var …; Start - Finish |
streamget streamset |
>> |
while do (Паскаль) |
Up-Low перший символ Up |
Up-Low6 перший символ Up |
+; -; *; /; % |
=; <>; le; ge |
not; and; or |
long int |
%% ... %% |
24 |
program <name>; start var …; finish |
input output |
:= |
if - goto; goto (Бейсік) |
Low |
Low-Up6 перший символ Low |
add; sub; *; /; mod |
==; !=; le; ge |
!; and; or |
int16 |
$$ ... |
25 |
#PROGRAM <name>; VARIABLE …; START STOP |
read write |
::= |
for downto (Паскаль) |
Up |
Up6 |
+; -; mul; div; mod |
=; <>; >; <; |
!; &; | |
int32 |
/* ... */ |
26 |
#Program <name>; Start Variable…; Stop |
scandataprintdata |
<< |
while (CI) |
Up-Low перший символ Up |
Low6 |
add; sub; *; /; % |
=; <>; >=; <= |
!!; &&; || |
int_2 |
!! ... |
27 |
#program <name>; variable…; start stop |
scan |
:: |
if - then goto; goto (Бейсік) |
Low |
Up-Low8 перший символ Up |
+; -; *; div; mod |
==; !=; >; < |
not; and; or |
int_4 |
// ... |
28 |
# PROGRAM <name>; START VARIABLE…; STOP |
get put |
-> |
do- while (СІ) |
Up |
Low-Up8 перший символ Low |
++; --; **; div; mod |
==; !=; >=; <= |
!; and; or |
int16_t |
// ... // |
29 |
#Program <name>; Variable…; Start - Stop |
streamin streamout |
<- |
if - then [- else] (Паскаль) |
Up-Low перший символ Up |
Up8 |
+; -; *; /; % |
==; !=; !>; !< |
!; &; | |
int32_t |
## ... ## |
30 |
startprogram startblok variable…; endblok |
streamget streamset |
>> |
for to next (Бейсік) |
Low |
Low8 |
+; -; mul; div; % |
=; <>; !>; !< |
!!; &&; || |
integer |
\\ ... |
31 |
STARTPROGRAM VARIABLE…;STARTBLOK - ENDBLOK |
input output |
:= |
if [else] (СІ) |
Up |
Up-Low2 перший символ _ |
+; -; mul; div; mod |
==; <>; >>; << |
not; and; or |
integer16 |
@@ ... |
32 |
StartProgram StartBlok Variable…; EndBlok |
read write |
::= |
if - then [- else] (Паскаль) |
Up-Low перший символ Up |
Low-Up2 перший символ _ |
add; sub; *; /; % |
=, != , <<, >> |
!!; and; or |
integer 32 |
## ... |
33 |
startprogram variable…; startblok - endblok |
scandata printdata |
<< |
for (СІ) |
Low |
Up4 перший символ _ |
+; -; *; div; % |
eq; neq; ls; gr |
!; &; | |
integer_2 |
{ ... } |
КІ-33 (2012)
1 |
Program <name>; Var…; Begin End |
GetPut |
::= |
If - Then [- Else] (Паскаль) |
Up-Low перший символ Up |
Low-Up2 перший символ Low |
++; --; **; Div; Mod |
==; !=; >; < |
Not; And; Or |
Integer16_t |
## ... ## |
2 |
program <name>; begin var…; end |
readwrite |
<< |
if [else] (СІ) |
Low |
Up2 |
+; -; *; /; % |
==; !=; >=; <= |
!; and; or |
integer32_t |
\\ ... |
3 |
PROGRAM <name>; VAR …; START - FINISH |
INPUTOUTPUT |
:: |
IF - THEN GOTO; GOTO (Бейсік) |
Up |
Low2 |
ADD; SUB; MUL; DIV; MOD |
==; !=; !>; !< |
!; &; | |
LONGINT |
{ ... } |
4 |
STARTPROGRAM STARTBLOK VARIABLE…; ENDBLOK |
scan |
:: |
repeat until (Паскаль) |
Up |
Low4 перший символ _ |
++; --; **; div; mod |
eq; noteq; less; gr |
!!; &&; || |
integer_4 |
!! ...!! |
5 |
MainProgram Data…; Start - End |
streamget streamset |
-> |
for to do (Паскаль) |
Up-Low перший символ Up |
Up-Low4 перший символ _ |
+; -; *; /; % |
eg; ne; lt; gt |
not; and; or |
integer 16_t |
/*… |
6 |
name <name>; body data…; end |
read write |
<- |
repeat until (Паскаль) |
Low |
Low8 перший символ _ |
add; sub; *; /; % |
==; !=; le; ge |
!; &; | |
integer16_t |
// ... // |
7 |
NAME <name>; DATA…;BODY- END |
INPUT OUTPUT |
:: |
FOR TO DO (Паскаль) |
Up |
Up-Low8 перший символ _ |
+; -; *; DIV; MOD |
=; <>; >; <; |
NOT; AND; OR |
INTEGER32_t |
## ... ## |
8 |
Name <name>; Data…;Body - End |
Read Write |
-> |
Do- While (СІ) |
Up-Low перший символ Up |
Low-Up8 перший символ _ |
++; --; **; Div; Mod |
=; <>; >=; <= |
!!; &&; || |
Longint |
\\ ... |
9 |
name <name>; data…; body- end |
scan |
:: |
if - then [- else] (Паскаль) |
Low |
Up8 перший символ _ |
add; sub; *; /; % |
eg; ne; lt; gt |
!; &; | |
intrger_2 |
// ... |
10 |
MainProgram Data…; Start - End |
Scan |
:: |
For To Next (Бейсік) |
Up-Low перший символ Up |
Low-Up4 перший символ _ |
++; --; **; Div; Mod |
=; <>; Le; Ge |
!; &; | |
Int_2 |
#* ... *# |
11 |
mainprogram start data…; end |
get put |
-> |
if [else] (СІ) |
Low |
Up6 перший символ _ |
+; -; *; /; % |
==; !=; le; ge |
!!; &&; || |
int_4 |
{* ... *} |
12 |
MAIMPROGRAMDATA…; START - END |
READ WRITE |
<- |
IF - THEN [- ELSE] (Паскаль) |
Up |
Low6 перший символ _ |
ADD; SUB; MUL; DIV; MOD |
=; <>; >; <; |
NOT; AND; OR |
INT16_t |
??... |
13 |
MainProgram Start Data…; End |
Input Output |
:: |
For (СІ) |
Up-Low перший символ Up |
Up-Low6 перший символ _ |
+; -; Mul; Div; Mod |
=; <>; >=; <= |
!; And; Or |
Int32_t |
%% ... %% |
14 |
name <name>; data…; body- end |
scan |
-> |
repeat until (Паскаль) |
Low |
Low-Up6 перший символ _ |
add; sub; *; /; % |
==; !=; >; < |
!; &; | |
integer |
$$ ... |
15 |
NAME <name>; BODY DATA…; END |
GET PUT |
>> |
FOR TO DO (Паскаль) |
Up |
Up8 перший символ _ |
+; -; *; DIV; MOD |
==; !=; >=; <= |
NOT; AND; OR |
INTEGER16 |
/* ... */ |
16 |
Name <name>; Data…; Body -End |
Read Write |
:= |
Do- While (СІ) |
Up-Low перший символ Up |
Low8 перший символ _ |
++; --; **; Div; Mod |
==; !=; !>; !< |
!!; &&; || |
Integer32 |
!! ... |
17 |
name <name>; body data…; end |
read write |
<< |
do- while (СІ) |
Low |
Low8 перший символ _ |
+; -; *; /; % |
=; <>; !>; !< |
!!; &&; || |
integer32 |
!! ... |
18 |
NAME <name>; DATA…; BODY - END |
INPUT OUTPUT |
:: |
FOR (СІ) |
Up |
Up-Low8 перший символ _ |
ADD; SUB; MUL; DIV; MOD |
==; <>; >>; << |
NOT; AND; OR |
INTEGER_2 |
// ... |
19 |
Name <name>; Body Data…; End |
Scan |
-> |
While Do (Паскаль) |
Up-Low перший символ Up |
Low-Up8 перший символ _ |
+; -; Mul; Div; Mod |
=, != , <<, >> |
!; And; Or |
Integer_4 |
// ... // |
20 |
program <name>; var…; begin - end |
get put |
<- |
repeat until (Паскаль) |
Low |
Up-Low2 перший символ Up |
add; sub; *; /; % |
eq; neq; ls; gr |
!; &; | |
integer16_t |
## ... ## |
21 |
PROGRAM <name>; BEGIN VAR…; END |
READ WRITE |
>> |
FOR TO DO (Паскаль) |
Up |
Low-Up2 перший символ Low |
+; -; *; DIV; MOD |
EQ; NOTEQ; LESS; GR |
!!; &&; || |
INTEGER32_t |
\\ ... |
22 |
Program <name>; Var…; Begin - End |
Input Output |
:= |
For Downto (Паскаль) |
Up-Low перший символ Up |
Up2 |
++; --; **; Div; Mod |
Eg; Ne; Lt; Gt |
Not; And; Or |
Longint |
{ ... } |
23 |
program <name>; begin var…; end |
scan |
::= |
for to next (Бейсік) |
Low |
Low2 |
+; -; *; /; % |
eg; ne; >; < |
!; and; or |
int |
!! ...!! |
24 |
PROGRAM <name>; VAR…; BEGIN - END |
GET PUT |
<< |
IF [ELSE] (СІ) |
Up |
Up-Low4 перший символ Up |
ADD; SUB; MUL; DIV; MOD |
EQ; NE; >>; << |
!; &; | |
LONG INT |
/*… |
25 |
Program <name>; Start Var …; Finish |
Read Write |
:: |
If - Then [- Else] (Паскаль) |
Up-Low перший символ Up |
Low-Up4 перший символ Low |
+; -; Mul; Div; Mod |
==; !=; Lt; Gt |
!!; &&; || |
Int16 |
#* ... *# |
26 |
program <name>; var …; start - finish |
input output |
-> |
for (СІ) |
Low |
Up4 |
add; sub; *; /; % |
=; <>; lt; gt |
not; and; or |
int32 |
{* ... *} |
27 |
PROGRAM <name>; START VAR …; FINISH |
SCAN |
<- |
REPEAT UNTIL (Паскаль) |
Up |
Low4 |
+; -; *; DIV; MOD |
EQ; NE; LE; GR |
!; AND; OR |
INT_2 |
??... |
28 |
Program <name>; Var …; Start - Finish |
Get Put |
>> |
For To Do (Паскаль) |
Up-Low перший символ Up |
Up-Low6 перший символ Up |
++; --; **; Div; Mod |
Eg; Ne; >=; <= |
!; &; | |
Int_4 |
%% ... %% |
29 |
StartProgram StartBlok Variable…; EndBlok |
Scan |
<< |
Repeat Until (Паскаль) |
Up-Low перший символ Up |
Up-Low2 перший символ _ |
+; -; Mul; Div; Mod |
=; <>; Le; Ge |
!!; &&; || |
Integer_4 |
\\ ... |
30 |
startprogram variable…; startblok - endblok |
get put |
:: |
for to do (Паскаль) |
Low |
Low-Up2 перший символ _ |
add; sub; *; /; % |
==; !=; le; ge |
not; and; or |
integer16_t |
@@ ... |
31 |
MAIMPROGRAM START DATA…; END |
READ WRITE |
-> |
DO- WHILE (СІ) |
Up |
Up4 перший символ _ |
+; -; *; DIV; MOD |
=; <>; >; <; |
!!; AND; OR |
INTEGER32_t |
## ... |