Цільова мова транслятора асемблер (i86).
Для отримання виконавчого файлу на виході розробленого транслятора скористатися програмами Turbo Assembler або MASM32.
Мова розробки транслятора: ANSI C, C++, C#, PHP, JAVA.
Реалізувати оболонку або інтерфейс командного рядка.
На вхід розробленого транслятора має подаватися текстовий файл, написаний на заданій мові програмування.
На виході розробленого транслятора мають створюватись чотири файли: файл з повідомленнями про помилки (або про їх відсутність), файл на мові асемблера, об’єктний та виконавчий файли.
Назва вхідної мови програмування утворюється від першої букви у прізвищі студента та номера його варіанту. Саме таке розширення повинні мати текстові файли, написані на цій мові програмування.
Назва виконавчого файлу транслятора утворюється від назви мови програмування додаванням літери “с” (від compiler).
Зауваження. 1) В кожному завданні передбачається блок оголошення змінних;
2) В кожному завданні обов’язковим є оператор присвоєння та оператор типу – блок;
|
|
3) Оператори можуть бути довільної вкладеності і в любій послідовності.
№ з/п | Блок тіла програми | Оператори вводу-виводу | Оператор присвоєння | Оператор | Регістр ключових слів | Регістр іден-тифікаторів | Операції | Типи даних | Коментар | ||
арифметичні | порівняння | логічні | |||||||||
1 | name< name >; body data…; end | input output | <- | do- while (СІ) | Low | Low8 перший символ _ | add; sub; *; /; % | =; <>; >; <; | !!; &&; || | integer16_t | //... // |
2 | name < name >; data…;body-end | read write | :: | if - then [- else](Паскаль) | Up | Up-Low8перший символ _ | ++; --; **; div; mod | =; <>; >=; <= | !; &; | | integer 32_t | ##... ## |
3 | name< name >; data…;body - end | scandata printdata | -> | for – to – next(Бейсік) | Up-Lowперший символ Up | Low-Up8перший символ _ | +; -; *; /; % | eg; ne; lt; gt | !; &; | | longint | \\... |
4 | name< name >; data…; body- end | scan print | :: | if [–else] (СІ) | Low | Up8 перший символ _ | add; sub; mul; div; mod | =; <>; le; ge | !!; &&; || | intrger_2 | //... |
5 | MainProgram Data…; Start - End | get put | :: | if - then [- else](Паскаль) | Up-Lowперший символ Up | Low-Up4перший символ _ | +; -; mul; div; mod | ==;!=; le; ge | not; and; or | int_2 | #*... *# |
6 | mainprogram start data…; end | streamin streamout | -> | for (СІ) | Low | Up6 перший символ _ | add; sub; *; /; % | =; <>; >; <; | !; and; or | int_4 | {*... *} |
7 | MAIMPROGRAM DATA…; START - END | streamget streamset | <- | repeat – until(Паскаль) | Up | Low6 перший символ _ | +; -; *; div; mod | =; <>; >=; <= | !; &; | | iny16_t | ??... |
8 | MainProgram Start Data…; End | input output | :: | for –to – do(Паскаль) | Up-Lowперший символ Up | Up-Low6перший символ _ | ++; --; **; div; mod | ==;!=; >; < | not; and; or | int32_t | %%... %% |
9 | name< name >; data…; body- end | read write | -> | while – do(Паскаль) | Low | Low-Up6перший символ _ | +; -; *; /; % | ==;!=; >=; <= | !!; &&; || | integer | $$... |
10 | NAME< name >; BODY DATA…; END | scandata printdata | >> | if - goto; goto(Бейсік) | Up | Up8 перший символ _ | add; sub; mul; div; mod | ==;!=;!>;!< | !!; &&; || | integer 16 | /*... */ |
11 | Name< name >; Data…; Body -End | scan print | := | for – downto(Паскаль) | Up-Lowперший символ Up | Low8 перший символ _ | +; -; mul; div; mod | =; <>;!>;!< | not; and; or | Integer32 | !!... |
12 | name< name >; body data…; end | get put | << | while(CI) | Low | Low8 перший символ _ | add; sub; *; /; % | ==; <>; >>; << | !; and; or | integer32 | !!... |
13 | NAME< name >; DATA…; BODY - END | streamin streamout | :: | if - then goto; goto(Бейсік) | Up | Up-Low8перший символ _ | +; -; *; div; mod | =,!=, <<, >> | !; &; | | integer _2 | //... |
14 | Name< name >; Body Data…; End | streamget streamset | -> | do- while (СІ) | Up-Lowперший символ Up | Low-Up8перший символ _ | ++; --; **; div; mod | eq; neq; ls; gr | !!; &&; || | integer_4 | //... // |
15 | program < name >; var…; begin - end | input output | <- | if - then [- else](Паскаль) | Low | Up-Low2перший символ Up | +; sbb; *; /; % | eq; noteq; less; gr | not; and; or | integer16_t | ##... ## |
16 | PROGRAM < name >; BEGIN VAR…; END | read write | >> | for – to – next(Бейсік) | Up | Low-Up2перший символ Low | add; sub; mul; div; % | eg; ne; lt; gt | !; and; or | integer32_t | \\... |
17 | Program < name >; Var…; Begin - End | scandata printdata | := | if [–else] (СІ) | Up-Lowперший символ Up | Up2 | +; -; mul; div; mod | eg; ne; >; < | !; &; | | longint | {... } |
18 | program < name >; begin var…; end | scan print | ::= | if - then [- else](Паскаль) | Low | Low2 | add; sub; *; /; % | eq; ne; >>; << | !!; &&; || | int | !!...!! |
19 | PROGRAM < name >; VAR…; BEGIN - END | get put | << | for (СІ) | Up | Up-Low4перший символ Up | +; -; *; div; mod | ==;!=; lt; gt | not; and; or | long int | /*… |
20 | Program < name >; Start Var …; Finish | streamin streamout | :: | repeat – until(Паскаль) | Up-Lowперший символ Up | Low-Up4перший символ Low | ++; --; **; div; mod | =; <>; lt; gt | !; and; or | int16 | #*... *# |
21 | program < name >; var …; start - finish | streamget streamset | -> | for –to – do(Паскаль) | Low | Up4 | +; -; *; /; % | eq; ne; le; gr | !; &; | | int32 | {*... *} |
22 | PROGRAM < name >; START VAR …; FINISH | input output | <- | while – do(Паскаль) | Up | Low4 | add; sub; *; /; mod | eg; ne; >=; <= | !!; &&; || | int_2 | ??... |
23 | Program < name >; Var …; Start - Finish | read write | >> | if - goto; goto(Бейсік) | Up-Lowперший символ Up | Up-Low6перший символ Up | +; -; mul; div; mod | =; <>; le; ge | not; and; or | int_4 | %%... %% |
24 | program < name >; start var …; finish | scandata printdata | := | for – downto(Паскаль) | Low | Low-Up6перший символ Low | add; sub; *; /; % | ==;!=; le; ge | !; and; or | int16_t | $$... |
25 | #PROGRAM< name >; VARIABLE …; START – STOP | scan print | ::= | while(CI) | Up | Up6 | +; -; *; div; mod | =; <>; >; <; | !; &; | | int32_t | /*... */ |
26 | #Program< name >; Start Variable…; Stop | get put | << | if - then goto; goto(Бейсік) | Up-Lowперший символ Up | Low6 | ++; --; **; div; mod | =; <>; >=; <= | !!; &&; || | integer | !!... |
27 | #program< name >; variable…; start – stop | streamin streamout | :: | do- while (СІ) | Low | Up-Low8перший символ Up | +; -; *; /; % | ==;!=; >; < | not; and; or | integer16 | //... |
28 | # PROGRAM< name >; START VARIABLE…; STOP | streamget streamset | -> | if - then [- else](Паскаль) | Up | Low-Up8перший символ Low | +; -; mul; div; % | ==;!=; >=; <= | !; and; or | integer 32 | //... // |
29 | #Program< name >; Variable…; Start - Stop | input output | <- | for – to – next(Бейсік) | Up-Lowперший символ Up | Up8 | +; -; mul; div; mod | ==;!=;!>;!< | !; &; | | integer_2 | ##... ## |
30 | startprogram startblok variable…; endblok | read write | >> | if [–else] (СІ) | Low | Low8 | add; sub; *; /; % | =; <>;!>;!< | !!; &&; || | integer_4 | \\... |
31 | STARTPROGRAM VARIABLE…;STARTBLOK - ENDBLOK | scandata printdata | := | if - then [- else](Паскаль) | Up | Up-Low2перший символ _ | +; -; *; div; % | ==; <>; >>; << | not; and; or | integer 16_t | @@... |
32 | StartProgram StartBlok Variable…; EndBlok | scan print | ::= | for (СІ) | Up-Lowперший символ Up | Low-Up2перший символ _ | ++; --; **; div; mod | =,!=, <<, >> | !!; and; or | integer32_t | ##... |
33 | startprogram variable…; startblok - endblok | get put | << | repeat – until(Паскаль) | Low | Up4перший символ _ | +; -; *; /; % | eq; neq; ls; gr | !; &; | | longint | {... } |
34 | STARTPROGRAM STARTBLOK VARIABLE…; ENDBLOK | streamin streamout | :: | for –to – do(Паскаль) | Up | Low4 перший символ _ | add; sub; mul; div; mod | eq; noteq; less; gr | !!; &&; || | int16 | !!...!! |
35 | MainProgram Data…; Start - End | streamget streamset | -> | while – do(Паскаль) | Up-Lowперший символ Up | Up-Low4перший символ _ | +; -; mul; div; mod | eg; ne; lt; gt | not; and; or | int32 | /*… |
36 | mainprogram start data…; end | input output | <- | if - goto; goto(Бейсік) | Low | Low-Up4перший символ _ | add; sub; *; /; % | eq; ne; >; < | !; and; or | int_2 | #*... *# |
37 | MAIMPROGRAM DATA…; START - END | read write | :: | for – downto(Паскаль) | Up | Up6 перший символ _ | +; -; *; div; mod | eq; ne; >>; << | !; &; | | int_4 | {*... *} |
38 | MainProgram Start Data…; End | scandata printdata | -> | while(CI) | Up-Lowперший символ Up | Low6 перший символ _ | ++; --; **; div; mod | ==;!=; lt; gt | not; and; or | int16_t | ??... |
39 | mainprogram data…; start - end | scan print | >> | if - then goto; goto(Бейсік) | Low | Up-Low6перший символ _ | +; -; *; /; % | =; <>; le; ge | !!; &&; || | int32_t | %%... %% |
40 | NAME< name >; BODY DATA…; END | get put | := | do- while (СІ) | Up | Low-Up6перший символ _ | add; sub; mul; div; mod | eg; ne; le; ge | !!; &&; || | integer | $$... |
41 | Name< name >; Data…; Body -End | streamin streamout | ::= | if - then [- else](Паскаль) | Up-Lowперший символ Up | Up8 перший символ _ | +; -; mul; div; mod | eg; ne; >=; <= | not; and; or | integer16 | /*... */ |
42 | name< name >; body data…; end | streamget streamset | :: | for – to – next(Бейсік) | Low | Up8 перший символ _ | add; sub; *; /; % | =; <>; le; ge | !; and; or | integer32 | $$... |
43 | NAME< name >; DATA…; BODY - END | input output | -> | if [–else] (СІ) | Up | Low8 перший символ _ | +; -; *; div; mod | ==;!=; le; ge | !; &; | | int_4 | /*... */ |
44 | Program < name >; Begin Var…; End | read write | <- | if - then [- else](Паскаль) | Up-Lowперший символ Up | Up-Low8перший символ _ | ++; --; **; div; mod | =; <>; >; <; | !!; &&; || | integer32 | !!... |
45 | program < name >; var…; begin - end | scandata printdata | >> | for (СІ) | Low | Low-Up8перший символ _ | +; -; *; /; % | =; <>; >=; <= | not; and; or | integer_2 | //... |
46 | PROGRAM < name >; BEGIN VAR…; END | scan print | := | repeat – until(Паскаль) | Up | Up-Low2перший символ Up | add; sub; *; div; mod | ==;!=; >; < | !; and; or | integer _4 | //... // |
47 | Program < name >; Var…; Begin – End | get put | ::= | for –to – do(Паскаль) | Up-Lowперший символ Up | Low-Up2перший символ Low | +; -; mul; div; % | ==;!=; >=; <= | !; &; | | integer16_t | ##... ## |
48 | program < name >; begin var…; end | streamin streamout | << | while – do(Паскаль) | Low | Up2 | add; sub; *; /; % | ==;!=;!>;!< | !!; &&; || | integer32_t | \\... |
49 | PROGRAM < name >; VAR …; START - FINISH | streamget streamset | :: | if - goto; goto(Бейсік) | Up | Low2 | ++; -; *; div; mod | =; <>;!>;!< | not; and; or | longint32 | {... } |
50 | Program < name >; Start Var …; Finish | input output | -> | for – downto(Паскаль) | Up-Lowперший символ Up | Up-Low4перший символ Up | ++; --; **; div; mod | ==; <>; >>; << | !; and; or | int | !!...!! |
51 | program < name >; var …; start - finish | read write | <- | while(CI) | Low | Low-Up4перший символ Low | +; -; *; /; % | =,!=, <<, >> | !; &; | | long int | /*… |
52 | PROGRAM < name >; START VAR …; FINISH | scandata printdata | >> | if - then goto; goto(Бейсік) | Up | Up4 | ++; --; mul; div; mod | eq; neq; ls; gr | !!; &&; || | int16 | #*... *# |
53 | Program < name >; Var …; Start - Finish | scan print | := | do- while (СІ) | Up-Lowперший символ Up | Low4 | +; -; mul; div; mod | eq; noteq; less; gr | not; and; or | int32 | {*... *} |
54 | #program< name >; start variable…; stop | get put | ::= | if - then [- else](Паскаль) | Low | Up-Low6перший символ Up | add; sub; *; /; % | eq; ne; lt; gt | !; and; or | int_2 | ??... |
55 | # PROGRAM< name >; VARIABLE …; START – STOP | streamin streamout | << | for – to – next(Бейсік) | Up | Low-Up6перший символ Low | +; -; *; div; mod | eg; ne; >; < | !; &; | | int_4 | %%... %% |
56 | #Program< name >; Start Variable…; Stop | streamget streamset | :: | if [–else] (СІ) | Up-Lowперший символ Up | Up6 | ++; --; **; div; mod | eg; ne; >>; << | !!; &&; || | int16_t | $$... |
57 | #program< name >; variable…; start – stop | input output | -> | if - then [- else](Паскаль) | Low | Low6 | +; -; *; /; % | ==;!=; lt; gt | not; and; or | int32_t | /*... */ |
58 | # PROGRAM< name >; START VARIABLE …; STOP | read write | <- | for (СІ) | Up | Up-Low8перший символ Up | add; sub; mul; div; mod | =; <>; lt; gt | !; and; or | integer | !!... |
59 | StartProgram Variable…;StartBlok - EndBlok | scandata printdata | >> | repeat – until(Паскаль) | Up-Lowперший символ Up | Low-Up8перший символ Low | +; -; mul; div; mod | eg; ne; le; ge | !; &; | | integer16 | //... |
67 | MAIMPROGRAM DATA…; START – END | scan print | := | if - then [- else](Паскаль) | Up | Low-Up4перший символ _ | +; -; *; div; mod | ==;!=;!>;!< | !; &; | | int32 | /*… |
68 | MainProgram Start Data…; End | get put | ::= | for – to – next(Бейсік) | Up-Lowперший символ Up | Up6 перший символ _ | ++; --; **; div; mod | =; <>;!>;!< | not; and; or | int_2 | #*... *# |
69 | name< name >; data…; body- end | streamin streamout | << | if [–else] (СІ) | Low | Low6 перший символ _ | +; -; mul; div; mod | ==; <>; >>; << | !!; &&; || | int_4 | {*... *} |
70 | NAME< name >; BODY DATA…; END | streamget streamset | :: | if - then [- else](Паскаль) | Up | Up-Low6перший символ _ | add; sub; *; /; % | eg; ne; le; ge | !; &; | | int16_t | ??... |
|
|
|
|
|
|
№ | Прізвище | Ім’я | По батькові | В |
1. | Абраменко | Микола | Вікторович | 25 |
2. | Веремей | Юрій | Олегович | 26 |
3. | Волошин | Ігор | Миколайович | 27 |
4. | Галь | Андрій | Миколайович | 28 |
5. | Грицюк | Павло | Олександрович | 29 |
6. | Жміковський | Юрій | Степанович | 30 |
7. | Іващишин | Роман | Ростиславович | 31 |
8. | Карпів | Тарас | Ігорович | 32 |
9. | Королевич | Олександр | Дмитрович | 33 |
10. | Костьо | Михайло | Михайлович | 34 |
11. | Курило | Іван | Мар'янович | 35 |
12. | Кухар | Богдан | Іванович | 36 |
13. | Маковійчук | Віталій | Миколайович | 37 |
14. | Мацюк | Тарас | Ігорович | 38 |
15. | Митков | Олександр | Олександрович | 39 |
16. | Ортинський | Ярослав | Володимирович | 40 |
17. | Роман | Руслан | Михайлович | 55 |
18. | Ромах | Андрій | Васильович | 56 |
19. | Сакаль | Михайло | Ігорович | 57 |
20. | Федорук | Дмитро | Сергійович | 58 |
21. | Фурдас | Олег | Ігорович | 59 |
22. | Чапля | Олег | Юрійович | 60 |
23. | Чеботенко | Ігор | Сергійович | 61 |
24. | Ящук | Олександр | Валерійович | 62 |