Скачиваний:
11
Добавлен:
01.05.2014
Размер:
6.02 Кб
Скачать
#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

Љ®­Ґж.
*/
Соседние файлы в папке kurs