Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Принципи розробки компіляторів

Реферат Принципи розробки компіляторів





p>

# include stdafx.h

//Підключаємо необхідні заголовні файли

# include lt; iostream gt;

# include lt; string gt;

# include lt; conio.h gt;

///////////////////

# include states.h // функції переходів автомата

# include common.h // допоміжні функції

///////////////////

//за замовчуванням використовуємо простір імен std namespace std;

//таким чином робимо змінні видимими в різних модулях

//extern lexem * idtable [MAXHASH];// таблиця ідентіфікаторовlexem ** idtable=NULL;//таблиця ідентіфікаторовlexem * lexTableHead=NULL;// покажчик на початок (початковий елемент) таблиці лексемlexem * lexTableEnd=NULL;// покажчик на кінець (останній елемент) таблиці лексем

int row=0; col=0;

// головна функція_tmain (int argc, _TCHAR * argv [])

{

setlocale (LC_ALL, Russian );// дана строчка необхідна для коректного відображення кирилиці

header ();// виводимо шапку

string fileName= c: /test.txtraquo ;;

//задаємо ім'я файлу

//cout lt; lt; Введіть шлях і ім'я файлу n raquo ;;

//cin gt; gt; fileName;

//вважаємо содержівое файлу (текст програми) в рядок

string programText=readFile (fileName); (); lexem= raquo ;;// змінна для зберігання імені лексемиcurrState=sBEGIN;// поточний стан автомата

//текс програми розберемо посимвольно в циклі

for (unsigned int i=0; i lt; programText.length (); i ++) {c=toupper (programText [i]);// поточний символ (c == n )

{++;=0;

} (currState) {sBEGIN: .clear ();=beginState (c, lexem) ;;

///////////////////////////////////////// sIF1 :=if1State (c, lexem) ;;

///////////////////////////////////////// sIF2 :=if2State (c, lexem) ;;

///////////////////////////////////////// sELSE1 :=else1State (c, lexem) ;;

///////////////////////////////////////// sELSE2 :=else2State (c, lexem) ;;

///////////////////////////////////////// sELSE3 :=else3State (c, lexem) ;;

///////////////////////////////////////// sELSE4 :=else4State (c, lexem) ;;

///////////////////////////////////////// sFOR1 :=for1State (c, lexem) ;;

///////////////////////////////////////// sFOR2 :=for2State (c, lexem) ;;

///////////////////////////////////////// sFOR3 :=for3State (c, lexem) ;;

///////////////////////////////////////// sDO1 :=do1State (c, lexem) ;;

///////////////////////////////////////// sDO2 :=do2State (c, lexem) ;;

///////////////////////////////////////// sPROG1 :=prog1State (c, lexem) ;;

///////////////////////////////////////// sPROG2 :=prog2State (c, lexem) ;;

///////////////////////////////////////// sPROG3 :=prog3State (c, lexem) ;;

///////////////////////////////////////// sPROG4 :=prog4State (c, lexem); ;

///////////////////////////////////////// sEND1 :=end1State (c, lexem); ;

///////////////////////////////////////// sEND2 :=end2State (c, lexem); ;

///////////////////////////////////////// sSYMBOL1 := ' raquo ;;=symbol1State (c, lexem) ;;

///////////////////////////////////////// sSYMBOL2 :=symbol2State (c, lexem) ;;

///////////////////////////////////////// sSYMBOL3 :=symbol3State (c, lexem) ;;

///////////////////////////////////////// sASSIGN1 :=: raquo ;;=assign1State (c, lexem) ;;

///////////////////////////////////////// sASSIGN2 := raquo ;;=assign2State (c, lexem) ;;

///////////////////////////////////////// sCOMMENT1 := raquo ;;=comment1State (c, lexem) ;;

///////////////////////////////////////// sCOMMENT2 :=comment2State (c, lexem) ;;

///////////////////////////////////////// sIDENT :=idState (c, lexem) ;; sNUMBER:

/////////////////////////////////////////= numberState (c, lexem) ;;

} +=c; ++;

}

//зберігаємо таблиці (); ();


Назад | сторінка 7 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка програми для підрахунку хеш-суми файлу і тексту з графічним інтерф ...
  • Реферат на тему: Створення меню без файлу опису ресурсів на основі функції LoadMenuIndirect ...
  • Реферат на тему: Потокове шифрування файлу
  • Реферат на тему: Відеореклама. Електронні таблиці
  • Реферат на тему: Робота зі структурою двійкового файлу