Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая работа. Вариант 16 / kurs / DMP0
.CPP#ifndef _DMP0_CPP_
#define _DMP0_CPP_
#include "voc.h"
const char AF0_x_sz = 7;
const char AF0_y_sz = 9;
SYMB AF0_x[AF0_x_sz] = {_rbo_, _rbc_, _void_, _main_, __DES0__, __SOP0__, _eps_};
SYMB AF0_y[AF0_y_sz] = {_PRG_, _GD_, _rbo_, _rbc_, _void_, _main_, __DES0__, __SOP0__, _bs_};
// Њ®¦Ґбвў® вҐа¬Ё «мле бЁ¬ў®«®ў Ё§ Ї®¤Ја ¬¬ вЁЄ
// c Є®в®але ¬®¦Ґв зЁ вмбп ўлў®¤ (в.Ґ Б < X)
char n_symb_subgram0[2] = {4, 1};
SYMB symb_subgram0_0x[4] = {_const_, _int_, _float_, _fmatr_};
SYMB symb_subgram0_1x[1] = {_bo_};
SYMB* symb_subgram0[2]= {symb_subgram0_0x, symb_subgram0_1x};
SUB_GRAM sub_gram0 = {n_symb_subgram0, symb_subgram0};
const char n_rul0 = 4; // Є®«ЁзҐбвў® Їа ўЁ«
const char max_rul0 = 7; // ¬ ЄбЁ¬ «м п ¤«Ё Їа ўЁ«
SYMB gr0_0x[max_rul0] = {_PRG_, _GD_, _void_, _main_, _rbo_, _rbc_, __SOP0__};
SYMB gr0_1x[max_rul0] = {_PRG_, _void_, _main_, _rbo_, _rbc_, __SOP0__ };
SYMB gr0_2x[max_rul0] = {_GD_, _GD_, __DES0__};
SYMB gr0_3x[max_rul0] = {_GD_, __DES0__};
SYMB* gram0[n_rul0] = {gr0_0x, gr0_1x, gr0_2x, gr0_3x};
// ‡ 票п ваЁЎгв®ў
ATTR gr0_a00x[4] = {{0, 0}};
ATTR* gr0_a0xx[max_rul0] = {gr0_a00x, gr0_a00x, gr0_a00x, gr0_a00x, gr0_a00x, gr0_a00x, gr0_a00x};
ATTR** gram0_attr[n_rul0] = {gr0_a0xx, gr0_a0xx, gr0_a0xx, gr0_a0xx};
// ‘ЇҐжЁ «млҐ Ё¤ҐЄбл Ја ¬¬ вЁЄЁ
// {x, y}
// x - Є®«ЁзҐбвў® бЁ¬ў®«®ў ў Їа ў®© з бвЁ Їа ўЁ«
// y - Є®«ЁзҐбвў® ®ЇҐа жЁ®ле бЁ¬ў®«®ў
char gr0_idx_0x[2] = {6, 0};
char gr0_idx_1x[2] = {5, 0};
char gr0_idx_2x[2] = {2, 0};
char gr0_idx_3x[2] = {1, 0};
char* gram0_idx[n_rul0] = {gr0_idx_0x, gr0_idx_1x, gr0_idx_2x, gr0_idx_3x};
// Ђ«Ј®аЁв¬ а §Ў®а "ЇҐаҐ®б-ᢥавЄ ¤«п Ја. б« Ў®Ј® ЇаҐ¤йҐбвў®ў Ёп A(F, G)
// дгЄжЁп F
// ќ«Ґ¬Ґв: 0 - ®иЁЎЄ
// 1 - ЇҐаҐ®б
// 2 - ᢥавЄ
// 3 - ¤®ЇгбЄ
// (4 + n) - ЇҐаҐе®¤ n-© ¤¬Ї-Їа®жҐбб®а (§ ¬Ґ 1)
// (20 + x) - ‘¬. ®ЇҐа жЁо Ї® н«Ґ¬вг A(x, y)
// (40 + n) - ЇҐаҐ®б Ё«Ё ЇҐаҐе®¤ ¤агЈ®© ¤¬Ї-Їа®жҐбб®а
// n - ®¬Ґа д-ЁЁ Ё§ ¬ ббЁў carry_jmp
// ”-п ў®§ўа й Ґв 0 - ЇҐаҐ®б, Ё«Ё § 票Ґ (20 + x)
// (50 + n) - ваЁЎгвл© ЇҐаҐ®б
// n - ®¬Ґа д-ЁЁ ў ¬ ббЁўҐ fun_carry
// ”-п ў®§ўа й Ґв 1 - ЇҐаҐ®б, 0 - ®иЁЎЄ
char AF0_0x[AF0_x_sz] = {0, 0, 0, 0, 0, 0, 0};
char AF0_1x[AF0_x_sz] = {0, 0, 1, 0, 9, 0, 0};
char AF0_2x[AF0_x_sz] = {0, 1, 0, 0, 0, 0, 0};
char AF0_3x[AF0_x_sz] = {0, 0, 0, 0, 0, 5, 0};
char AF0_4x[AF0_x_sz] = {0, 0, 0, 1, 0 ,0 ,0};
char AF0_5x[AF0_x_sz] = {1, 0, 0, 0, 0 ,0, 0};
char AF0_6x[AF0_x_sz] = {0, 0, 2, 0, 2, 0, 0};
char AF0_7x[AF0_x_sz] = {0, 0, 0, 0, 0, 0, 2};
char AF0_8x[AF0_x_sz] = {0, 0, 1, 0, 9, 0, 0};
char AF0_9x[AF0_x_sz] = {0, 0, 0, 0, 0, 0, 3};
char* AF0[AF0_y_sz + 1] = {AF0_0x, AF0_1x, AF0_2x, AF0_3x, AF0_4x, AF0_5x, AF0_6x, AF0_7x, AF0_8x, AF0_9x};
// дгЄжЁп G
char AG0_0x[n_rul0] = {0, 0, 0, 0};
char AG0_1x[n_rul0] = {0, 0, 0, 0};
char AG0_2x[n_rul0] = {0, 0, 0, 0};
char AG0_3x[n_rul0] = {0, 0, 0, 0};
char AG0_4x[n_rul0] = {0, 0, 0, 0};
char AG0_5x[n_rul0] = {0, 0, 0, 0};
char AG0_6x[n_rul0] = {0, 0, 0, 0};
char AG0_7x[n_rul0] = {0, 0, 0, 0};
char AG0_8x[n_rul0] = {2, 1, 3, 4};
char* AG0[AF0_y_sz] = {AG0_0x, AG0_1x, AG0_2x, AG0_3x, AG0_4x, AG0_5x, AG0_6x, AG0_7x, AG0_8x};
#endif
/*
” ©« : "L1.TXT" .
ЊЂ’ђ€–Ђ Џђ…„…‘’‚Ћ‚ЂЌ€џ :
---- ( Є®«ЁзҐбвў® н«Ґ¬Ґв®ў : 9 * 9 ) :
=========================================
I IPRG!GD !( !) !voi!mai!des!sop!EpsI
=========================================
IPRGI ! ! ! ! ! ! ! ! I
I---I---+---+---+---+---+---+---+---+---I
IGD I ! ! ! ! = ! ! = ! ! I
I---I---+---+---+---+---+---+---+---+---I
I( I ! ! ! = ! ! ! ! ! I
I---I---+---+---+---+---+---+---+---+---I
I) I ! ! ! ! ! ! ! = ! I
I---I---+---+---+---+---+---+---+---+---I
IvoiI ! ! ! ! ! = ! ! ! I
I---I---+---+---+---+---+---+---+---+---I
ImaiI ! ! = ! ! ! ! ! ! I
I---I---+---+---+---+---+---+---+---+---I
IdesI ! ! ! ! > ! ! > ! ! I
I---I---+---+---+---+---+---+---+---+---I
IsopI ! ! ! ! ! ! ! ! > I
I---I---+---+---+---+---+---+---+---+---I
I Б I ! < ! ! ! < ! ! < ! ! I
=========================================
/*
”“ЌЉ–€€ ’€ЏЂ "Џ…ђ…ЌЋ‘-‘‚…ђ’ЉЂ" :
---- дгЄжЁп "ЇҐаҐ®б" ( Є®«ЁзҐбвў® н«Ґ¬Ґв®ў : 10 * 7 ) :
====================================
I I( !) !voi!mai!des!sop!EpsI
====================================
IPRG IЋ !Ћ !Ћ !Ћ !Ћ !Ћ !Ћ I
I------I---+---+---+---+---+---+---I
IGD IЋ !Ћ !Џ…ђ!Ћ !Џ…ђ!Ћ !Ћ I
I------I---+---+---+---+---+---+---I
I( IЋ !Џ…ђ!Ћ !Ћ !Ћ !Ћ !Ћ I
I------I---+---+---+---+---+---+---I
I) IЋ !Ћ !Ћ !Ћ !Ћ !Џ…ђ!Ћ I
I------I---+---+---+---+---+---+---I
Ivoi IЋ !Ћ !Ћ !Џ…ђ!Ћ !Ћ !Ћ I
I------I---+---+---+---+---+---+---I
Imai IЏ…ђ!Ћ !Ћ !Ћ !Ћ !Ћ !Ћ I
I------I---+---+---+---+---+---+---I
Ides IЋ !Ћ ! C !Ћ ! C !Ћ !Ћ I
I------I---+---+---+---+---+---+---I
Isop IЋ !Ћ !Ћ !Ћ !Ћ !Ћ ! C I
I------I---+---+---+---+---+---+---I
I Б IЋ !Ћ !Џ…ђ!Ћ !Џ…ђ!Ћ !Ћ I
I------I---+---+---+---+---+---+---I
I Б PRGIЋ !Ћ !Ћ !Ћ !Ћ !Ћ !„ЋЏI
====================================
*/
/*
---- дгЄжв®ў : 9 * 4 ) :
====================
I I1 !2 !3 !4 I
====================
IPRG IЋ!Ћ!Ћ!ЋI
I------I--+--+--+--I
IGD IЋ!Ћ!Ћ!ЋI
I------I--+--+--+--I
I( IЋ!Ћ!Ћ!ЋI
I------I--+--+--+--I
I) IЋ!Ћ!Ћ!ЋI
I------I--+--+--+--I
Ivoi IЋ!Ћ!Ћ!ЋI
I------I--+--+--+--I
Imai IЋ!Ћ!Ћ!ЋI
I------I--+--+--+--I
Ides IЋ!Ћ!Ћ!ЋI
I------I--+--+--+--I
Isop IЋ!Ћ!Ћ!ЋI
I------I--+--+--+--I
I Б I1 !2 !3 !4 I
====================
--- Їа ўЁ« Ја ¬¬ вЁЄЁ :
1) PRG -> voi mai ( ) sop
2) PRG -> GD voi mai ( ) sop
3) GD -> GD des
4) GD -> des
Љ®Ґж.
*/