Файл қосу

Тілдер теориясының және программалау технологиясы, программалау тілдері бойынша негіздері білім беру




|Қазақстан Республикасы білім және ғылым министрлігі                                 |
|Семей қаласы ШӘКӘРІМ атындағы МЕМЛЕКЕТТІК УНИВЕРСИТЕТІ                              |
|3 деңгейдегі СМК құжаты            |ПОӘК                |ПОӘК                       |
|                                   |                    |042.14.2.07.1.20.01/02-2013|
|                                   |                    |                           |
|                                   |                    |                           |
|                                   |                    |                           |
|ПОӘК                               |03.09.2013ж         |                           |
|Оқытушыға арналған                 |№1 басылым          |                           |
|«Программалау технологиясы» пәні   |                    |                           |
|бойынша оқу жұмыс бағдарламасы     |                    |                           |
|                                   |                    |                           |
















                         «Программалау технологиясы»
                        ПӘНІН ОҚЫТУ-ӘДІСТЕМЕЛІК КЕШЕН


                5В011100 - «Информатика» мамандығына арналған


                 ОҚЫТУШЫҒА АРНАЛҒАН ОҚУ  ЖҰМЫС БАҒДАРЛАМАСЫ






































                                    Семей
                                    2013

                                  АЛҒЫ СӨЗ

1. ҚҰРАСТЫРЫЛДЫ
Құрастырған:_________   Семей   қаласы    Шәкәрім    атындағы    Мемлекеттік
университеті, Информатика кафедрасының  аға оқытушысы Рысжанова А.С.
      «___»__________ 2013ж.

2. ТАЛҚЫЛАНДЫ
2.1. Информатика кафедрасының отырысында талқыланды
      Хаттама № 1 «11» қыркүйек 2013 ж.

      Кафедра меңгерушісі _________________ Абишова А.А.

2.2. Физика-математика факультетінің әдістемелік Кеңесінің отырысында
талқыланды


      Хаттама  №1 «12» қыркүйек 2013 ж.

      Әдістемелік кеңестің төрағасы __________ Батырова Қ.А.

3. БЕКІТІЛДІ
Университеттің оқыту-әдістемелік кеңесінің отырысында мақұлданып, баспаға
ұсынылды
      Хаттама  №1 «18» қыркүйек 2013 ж.


Оқыту әдістемелік кеңесінің төрағасы _____________ Г.К.Искакова


БІРІНШІІ РЕТ ЕНГІЗІЛДІ


















                                   МАЗМҰНЫ

|Қолданылу облысы                                                 |       |
|Нормативті сілтемелер                                            |       |
|Жалпы жағдайлар                                                  |       |
|Оқытушыға арналған оқу жұмыс бағдарламасының мазмұны             |       |
|Студенттердің өздік жұмыстарының тақырыптары                     |       |
|Әдебиеттер                                                       |       |



1. ҚОЛДАНЫЛУ ОБЛЫСЫ

      «Программалау  технологиясы»  пәні  бойынша  Оқыту-әдістемелік   кешен
5В011100  –  «Информатика»  мамандығының   студенттеріне   арналған.   Кешен
студенттерді пәннің мазмұнымен, пәннің  көкейкестілігі  мен  қажеттілігімен,
курс саясатымен, оқу барысында  үйренетін  машықтармен  таныстырады.  Оқыту-
әдістемелік кешен пәнді оқыту үшін негізгі бағдар болып табылады.

   2. НОРМАТИВТІ СІЛТЕМЕЛЕР

      Бұл «Программалау технологиясы»  пәні бойынша Оқытушыға  арналған  оқу
жұмыс бағдарламасы оқыту процесін  келесі  құжаттарда  келтірілген  талаптар
мен ұсыныстарға сәйкес жүргізу үшін құрастырылған және  реттейді:

      – 5В011100  –  «Информатика»  мамандығына  ҚР  МЖМБС    3.08.317-2006.
        Қазақстан Республикасы Білім және Ғылым министрлігінің  2005  ж.  23
        желтоқсанындағы №779 бұйрығымен бекітілген және іске қосылғын.

      – СТУ 042 – РГКП – СГУ – 4-2013 Университет  стандарты  «Пәннің  оқыту
        әдістемелік комплексін дайындауға жалпы талаптар»;

      – ДП-042-1.01–2013 Құжатталған  процедура  «Пәннің  оқыту  әдістемелік
        комплексінің құрылымы мен мазмұны»




   3. ЖАЛПЫ ЖАҒДАЙЛАР

      3. 1. Пәннің қысқаша мазмұны

      Қазіргі  уақытта  пәннің  облысын  мәтіндік  түрде   жазып   көрсетуге
болатын  жасанды  тілдер,  программалауда  ғана  емес  басқа  да  облыстарда
кеңінен  қолданыс  табуда.  Олардың  көмегімен  барлық  мүмкін   құжаттардың
(өмірдегі   және    модельдердегі    қолданылатын)    құрылымдары    жазылып
көрсетіледі. Бұл мәтіндік жазылымдар   дұрыс    құралуы және танылуы    үшін
олардың  арнайы  түрлендіруі  мен  анализінің  әдістері  қолданылады.    Бұл
әдістердің   негізінде:тілдер   теориясы   және    автоматтар    теориясының
формальды    грамматикасы     жатыр.     Мәтіндерді     анализдеуге     және
интерпретациялауға арналған     бағдарламалық     жүйелер   -    трансляторы
     деп  аталады.    Қазіргі      уақытта       мыңдаған   тілдер       мен
олардың     трансляторының жасалғанына     қарамастан     жаңа  мәселелердің
      туындау       процесі        таусылар        емес.      Бұл    есептеу
жүйелерінің      технологиясының       дамуымен       және       күрделенген
қолданбалы есептердің шешімін табу қажеттілігімен байланысты.
      Сонымен  қатар,  тілдер  теориясының  және   формальды   грамматиканың
элементтері   басқа   да   әртүрлі     облыстарда    қолданылады.    Мысалы:
берілгендердің, файлдардың, сұлбалардың құрылымдарының    жазылуында.    Бұл
    әдістер     трансляторды құруда өте тиімді.
      Microsoft       компаниясының     ең     соңғы     жасап     шығаратын
программалау   тілі   с#, бұл      тілді      жасаудың      себебі      Уаба
 программалау     тілінің     даңқын     түсіндіруге бағытталған.    Осындай
    мысалдарды     көптеп     келтіруге      болады.    Сондықтан,    тілдер
теориясы    мен    формальды    грамматиканың    негізі,   сонымен     бірге
трансляторды   жасап шығарудың     практикалық      әдістері      инженерлік
    ілімнің      информатика      мен      есептеу   техникасының       ірге
тасының      қолдануында      жатыр.    Беріліп       отырған       материал
трансляторды   жасап   шығарудың   әдістерінің   негізін    қозғайды    және
 логиканы   оқыту үшін қажетті ақпараттарды қамтиды.





      3.2. Пәннің мақсаты

      Тілдер      теориясының      және       программалау     технологиясы,
программалау тілдері бойынша негіздері білім беру.
      Пәнді беруде алдыға қойған мақсатқақол жеткізу үшін  мынандай  есептер
шешіледі:
       –   Дәріс   курсының    жүру    барысында    трансляция    процесінің
         ұйымдастыруының жалпы принципі қарастырылады.
       – Лабараториялық сабақтарда және  өздік  жұмыстардың  жүрү  барысында
         теориялық  білімнің  практика   жүзінде   бекіту:   программалардың
         қарапайым тіліне транслятор жасалуда.





      3.3. Пән міндеті:

       – Трансляторлардың  құрылымымен  трансляция  процесін  ұйымдастырудың
         жалпы принципін білу керек.
       – Паскаль, Delphi, С++программалау тілдерінде қосымшаларды  құрастыра
         алуы керек .
       – Формальды  тілдер  менмашиналық  трансляторларды  құрастыру  туралы
         түсінігі болуы керек.




      3.4. Пәнді оқып, аяқтаған студенттердің


      Білуі керек:

     –  Трансляторлардың  құрылымымен  трансляция  процесін  ұйымдастырудың
       жалпы принципін білу керек.
     – Паскаль, Delphi, С++программалау тілдерінде  қосымшаларды  құрастыра
       алуы керек .
     –  Формальды  тілдер  менмашиналық  трансляторларды  құрастыру  туралы
       түсінігі болуы керек.
     –   практикалық   және   қолданбалы   бағдарламаларды   еркін   қолдану
       дағдыларының болуы;

     – болашақ мамандардың шығармашылық ізденістерін қалыптастыру;

     – студенттерді оқулық және ғылыми әдебиетпен өздік жұмыс жасауға
       үйрету.

      3.5.  Пән пререквизиттары:

       – Тілдер  және  программалау  технологилар  ақпараттық  технологиялар
         бойынша  мамандандырылған   пән   болып   табылады,   жоғарғы   оқу
         орындарының     студенттерін      оқытуғаарналған      болғандықтан
         программалауға байланысты пәндік материалдарына бағытталған.
      3.6.  Пән постреквизиттары:

       –  «Тілдер  және  автоматтар  теориясы»  курсын   оқып   болған   соң
         студенттер осы курста қамтылған білім мен алғырлыққа сүйене  отырып
         басқа пәндерді оқитын болды. Мұндай пәндерге жататындар: ақпараттық
         жүйені құрылымын жасап шығарумен байланысты,  интелектуалдық   және
         эксперттік   жүйелер,  деректер  базасының  жасалуымен   байланысты
         пәндер,  постреквизиттік пәндерге басқада барлық пәндер, кез келген
         түрдегі жаңа ақпараттық технологиясымен байланысқан пәндер жатады.


      Кесте 1. Оқу жоспарынан ақпарат
КурсСеместрКредитДәрісЗертханалықОСӨЖСӨЖБарлығыБақылау түрі
(семестр)
2
4
3
15
30
22,5
67,5
135Емтихан
(1)
5. Студенттердің өздік жұмыстарының тақырыптары

5.1 Студенттің оқытушы басқаруымен орындайтын өздік жұмыстарының тақырыптары:

ОСӨЖ №1
Мәліметтер және типтер:
Динамическалық және статистикалық ПТ. Атты және структуралық типтер эквивалентті.
Дәстүрлі ПТ-дің негізгі мәліметтер типтері.
Дәстүрлі ПТ-дің операторлық базис.
Модуль ұғымы. Суреттеу және әрекет облыстары.
Жабу аттар және көрсетілімділік.
Типтер параметтірлеумен байланысты проблемаллар.
Ерекше жағдай туралы ұғым.
Машиналық-тәуелді ерекшеліктердің  есептеу және басқару ұсыныс.


ОСӨЖ №2
Трансляция әдістері:
1. Бағдарламалық қамтамасыз етуде құрастырушы орыны
2. Компилятор структурасы.

ОСӨЖ  №3
Лексикалық талдау:
1. Жүйелі жиындар және жүйелі айтылулар.
2. Лексикалық талдауыштарды бағдарламалау.

ОСӨЖ №4
Синтаксистік талдау:
1. Алдың-алаболжаулыкестелік басқарыс.
2.Үстідең-астыға талдау алгоритмі, LL(1)-грамматикалары, рекурсивный түсу, синтаксистік қателерден кейін бұрынғы қалпына келу.

ОСӨЖ №5
Бағдарлама аралық ұсынуы:
1. Код генератордың ішінде ақпаратты үйымдастыру.
2. Аралық денгейдегі ұсынуы:

ОСӨЖ№6
ПТ контекстік шарттары:
1. Көрсетілім обылыстардың және блокты құрылымды сипатау
2. Мәліметтерді басқару және типтерді бақылау.

ОСӨЖ№7
Құрастырушы кестелерінің ұйымдастыру:
1. Орналастырып қою функциялары.
2. Блоктық құрылымды орындау.

ОСӨЖ№8
Код генерациясы:
1. Машина моделі.
2. Айнымалылардың трансляциясы.
3. Логикалық айтылулардың трансляция ерекшеліктері

5.2 Студенттің өздік жұмыстарының тақырыптары:

СӨЖ №1
Бақылау сұрақтаржәне тапсырмалар
1. Өзгешеліктерді табыныз:
интерпретатордың компилятордан (құрастырушы);
компилятордың ассемблерден;
код түрлендірушідің транслятордан;
эмулятордың интерпретаторден;
синтаксистің семантикадан. 
2. Сізге танылы бағдарламалау тілдерінің соңғы өңдеулері туралы әнгімеленіз.
Айтылған тілдердің негізгі мінездемелерің келтіріңіз.
3. Бағдарламалау тілдерімен байланысты емес, трансляция әдістерінің облыстар бойынша қолдануының нақтылы үлгілерің келтіріңіздер.
4. Құрастырулы программалық тілдеріне нақтылы мысал келтіріңіз.
5. Интерпретаторлық программалық тілдерінен ақтылы мысал келтіріңіз.
6. Құрастырушы және интерпретаторы бар программалық тілдерінен ақтылы мысал келтіріңіз.
7. Компиляторлардың негізгі артықшылығы мен кемшіліктері.
8. Интерпретатордың негізгі артықшылығы мен кемшіліктері.
9.Белгілі екі программалау тілдерінің синтаксисінде айырмашылықтарың сипатаныз.
10. Белгілі екі программалау тілдерінің симантикасында айырмашылықтарың
сипатаныз.
11. Трансляцияның негізгі фазаларың және олардың тағайындауың атаңыздар.
12. Бір өтімді трансляцияның негізгі ерекшеліктерің атаңыздар.
13. Көп өтімді трансляцияның негізгі ерекшеліктерің атаңыздар.
14. Бір өтімді және көп өтімді трансляциялардың мүмкін қиыстыруларына мысал келтірініз. Бұл схемалардың практикалық  қолдануы туралы әңгімеленіздер.
СӨЖ формасы: жазбаша және файл түрінде.

СӨЖ№2
Бақылау сұрақтар және тапсырмалар
1. Формалдық  тілдердің негізгі тәсілдері және айырмашылықтың анықтамасын атаңыз.
2. Формальдық грамматикаға анықтама берініз.
3. Мета тілдер не үшін керек?
4. Туынды граммматиканың формальді тілдері несі болып табылады?
5. Шығару   көрсетілімінің   анықтаңыздар   және   айырмашылықтарының   атаңыздар, олардың байланысын көрсетініз.
6. Үш  көбейту   және   екі   қосылысы  бар,   G3   грамматикасынның  терминальдық   байланыс шынжыр шығарылысына мысал келтірініз.
7. Бес   операндтары   бар,   G3   грамматикасынның   терминальдық   байланыс   шынжыр шығарылысына   мысал   келтірініз.   Сол   бастапқы   терминалға   емес   байланыс шыжырдына мысал келтірініз.
8. 6   және   7-ші   тапсыманың   шартарына   сәйкес   келетің   өрнек   жазыныз,   және   бұл минимал қадам бойынша жасалу керек. 
9. 6   және   7-ші   тапсыманың   шартарына   сәйкес   келетің   өрнек   жазыныз,   және   бұл максимал қадам бойынша жасалу керек. 
10. Танушыға анықтама берініз. Құрылымын көрсетініз. 
11. Сізге   танылым  ережеге   шек   қойылған   грамматика   классын   атаныз.   Оларға   анықтама берініз.
12. Танылу   тілінің   және   анықталмальды   формальдық   тілдерінен   қандай айырмашылықтары бар?
13. Химский   берген   иерархиясы   бойынша,   танушы   және   грамматика   арқылы   берілген фомальдік  тілдерінің анықамаға эквивалент қатынасың айтыныз.
14. Вариант   бойынша   №2   Зертханалық   жұмысының   Вирт   д иаграммасы   көмегімен программалау   тілдерінің     синтакисінің   сипатаныз.   Егер   қиындық   туса   келесі тақырыпты зертеуге кірісініз. Содан кейін осы қадамды қайталаныз.
СӨЖ формасы: жазбаша және файл түрінде.

СӨЖ №3
Бақылау сұрақтар және тапсырмалар
1. №3   Зертханалық   жұмысынның   берілген   вариант   бойынша   сол   жұмысқа программа мысалын келтіріп аяқтау. 
СӨЖ формасы: файл түрінде.

СӨЖ №4
Бақылау сұрақтар және тапсырмалар
1. Лексикалық талдауыш не үшін керек?
2. Лексикалық талдауыш нені туындайды?
3. Сканерсіз жұмыс істеуге болады ма?
4. Транслитератор қызметті. 
5. Сканермен ақырлы автоматордың байланысы неде?
6. Вирт диаграммасымен ақырлы автоматордың байланысы бар ма?
7. Ақырлы автоматордың және онжақты грамматиканың байланысы бар ма?
8.Ақырлы автоматордың және сол жақты рекурсия грамматиканың байланысы бар ма?
9. Он   жақты   рекурсия   грамматикасын   итеративті   Вирт   диаграммасына   қалай түрлендіруге болады.
10.Сол   жақты   рекурсия   грамматикасын   итеративті   Вирт   диаграммасына   қалай түрлендіруге болады.
11.Лексикалық талдауштын негізгі тәсілдерің атаныз.
12.Сызықтық емес лексикалық талдауыштың жалпылама құрылымын келтірініз.
13.Лексикалық талдауыштың артықшылықтарымен кемшіліктері.
14. Сызықтық емес лексикалық талдауыштың қуатылыған көтеруге болады ма?
15.Сызықтық лексикалық талдауыштың жалпылама құрылымын келтірініз.
16.Сызықтық лексикалық талдауыштың артықшылықтары мен кемшіліктері.
17. Лексикалық  талдау  кезінде  дүрыс  танылу  тиыс  келетің  нақтылы  программалау  тілдің конструкциясын тізіп шығыныз.
18. Лексикалық  талдау  кезінде  дүрыс  танылу  тиыс  келетің  сіздің  оқытылу  программалау тілдің конструкциясы бойынша тізімін дайынданыз.
СӨЖ формасы: жазбаша және файл түрінде.

СӨЖ №5
Бақылау сұрақтар және тапсырмалар
1. Зертханалық   жұмыс   орындау   үшін   алынған   вариант   бойынша   лексикалық талдаушты өнденіз.
СӨЖ формасы: файл түрінде.

СӨЖ №6
Бақылау сұрақтар және тапсырмалар
1. Синтаксистік талдаудың қызметтері.
2. Синтаксистік талдаудың нәтижесі болып табылады?
3. Негізгі синтакситік талдаудың таптастыруы белгілерің атаңыз.
4. Қандай талдау әдістері бар?
5. Кіріс байланыс шынжырының нәтижесімен талдау әдістерімен байланысы.
6. Астыға қарай түсу талдаудың ерекшеліктері.
7. Үстіге қарай шығу талдаудың ерекшеліктері.
8. Қиыстырылған талдаудың ерекшеліктері.
9. Қандай талдау жүйеліліктері бар?
10. Талдау әдістері мен және талдау жүйеліліктері арасындағы байланыс.
11. Алдыға қарай талдаудың ерекшеліктері.
12. Контекстілі бос грамматикалардың қосымша таптастыруы.
13. Қайтарылымды талдаудың ерекшеліктері.
14. Тіл қиындығымен және оның трансляциясның арасындағы байланыс.
СӨЖ формасы: жазбаша және файл түрінде.

СӨЖ №7
Бақылау сұрақтар және тапсырмалар
1. Синтаксистік талдау кезінде дүкен (кезек) жадылы автоматарды не үшін керек?
2. Дүкен (кезек) жадылы автоматар қалай ұйымдастырылған?
3. Дүкен (кезек) жадылы автоматардың негізгі операциялары.
4. Қандай түрде грамматика қойылған шектеулер автоматтын орындалуна әсер етеді?
5. Сізге белгілі шектелі грамматикаға мысал келтірініз.
6. s-грамматика бойынша АМП-ні құруға болады?
7. S-грамматиканың кемшіліктері. 
8. q-грамматика бойынша АМП-ні өндеу. 
9. S-, q-, L-грамматикалардың қысқаша мінездемелік анықтама берініз.
10. Астыға   қарай   түсу   дүкен (кезек)   жадылы   автоматардың   программалау   әдістердің өндірістері.
11. Астыға   қарай   түсу   дүкен (кезек)   жадылы   автоматардың   АМП   өту   кесі   қолданып програмалау өндірістердің қандай түрлері болады?
12. Рекурсив пен құрылған танушының қандай ерекшелігі бар?
СӨЖ формасы: жазбаша және файл түрінде.

СӨЖ №8
Бақылау сұрақтар және тапсырмалар
1. Грамматика   және   дүкен (кезек)   жадылы  автоматтардың   семантикалық   үзілісі   неде түрады?
2. Туылмалы ақырды автоматтардың динамикалық моделін анықтаныз.
3. ДТА-автоматамен және Вирт диаграммасының арасындағы байланыс.
СӨЖ формасы: жазбаша және файл түрінде.

5.5. Пән бойынша жазбаша жұмыстардың тақырыптары
Рефератар тақырыптары:
1. Программалау тілдердің синтаксисі, сематикасы және програматикасы.
2. Формальдау проблемасы.
3. Грамматикалар. Грамматикалардың таптасыруы: жиелі грамматикалар, контекстлі-бос   грамматикалар,   контекстілі-тәуедлі   грамматикалар,   жалпы   түрдегі грамматикалар, атрибуттыграмматикалар, программалық грамматикалар. 
4. Алгоритмдік   проблемалар:   бос   орындық   проблема,   идентификациялық  проблема, тілдер эквивалентілігінің проблемасы. 
5. Автоматтар.   Автоматтарды  топтастыру:   ақырлы  автоматтар,   дүкен(кезек)   жадылы автоматтар,   екіжақты   автоматтар,   Тьюринг   машинасы,   детерминнаты және детерминнатсіз автоматтар, Джон Фон Нейманның автоматтары. 
6. Айқынсыз грамматикалар, автоматтар жәнетілдер.
7. Бағдарламалау тілдерінің семантикасының формальдауы.
8. Ерекшеліктер тілдері. Трансля әдістері. Лексическалық талдауыш. 
9. Синтакстік талдауыш. Семантикалық талдауыш. 
10. Объектілі кодтың генераторы. Объектілі кодтыық шамдау.

6. Ұсынылатын әдебиеттер:
Негізгі әдебиеттер:
Негізгі әдебиеттер
Аммерааль Леен. STL для программистов на C++. Пер. с англ. - М.: ДМК, 1999 – 240 с., ил.
Шишмарев   А.И.,   Заморин   А.П.   Англо-русско-немецко-французский   толковый   словарь по вычислительной технике. М.:Издательство "Русский язык", 1978.
Ахо   А.,   Ульман  Дж.   Теория   синтаксического   анализа,   перевода   и  компиляции.   -   М.:   Мир, 1978.
Бек Л. Введение в системное программирование. - М.:Мир, 1988.
Браун П. Макропроцессоры и мобильность программного обеспечения. - М.:Мир, 1977.
Буч   Г.   Объектно-ориентированный   анализ   и   проектирование   с   примерами   приложений   на C++, 2-еизд./Пер. сангл. - М.:"Издательство Бином", СПб.:"Невскийдиалект", 1998 г. -560 с.
ВайнгартенФ. Трансляция языков программирования. - М.:Мир, 1977.
Вирт Н. Алгоритмы+структуры данных = программы. - М.:Мир, 1985.
Вирт Н. Алгоритмы и структуры данных. - М.:Мир, 1989.
ГрисД. Наука программирования. М.:Мир, 1984.
ДейкстраЭ. Дисциплина программирования. М.:Мир, 1978.
Методы проектирования программных систем./Пер. сангл. - М.:Мир, 1985. - 328 с.
Кауфман  В.  Ш.   Языки  программирования.   Концепции  и  принципы.   -   М.:   Радио  и  связь, 1993. - 432 с.
Кнут Д.  Искусство  для программирования для ЭВМ. Т2:  Получисленные алгоритмы.   -  М.:Мир, 1977.
Кнут  Д.   Искусство   для  программирования  для   ЭВМ. Т3:   Сортировка   и  поиск.   -   М.: Мир, 1978.
Кэмпбел-Келли М. Введение в  макросы. - М.: Советское радио, 1978.
Легалов  А.И.,   Сиротинина   Н.Ю.   Организация   таблиц   имен:   методические   указания   по лабораторной   работе   для   студентов   специальностей   220100,   220400,   220600.   КГТУ,   Красноярск, 1996.
Легалов А.И.  Процедурно-параметрическая парадигма программирования.  Возможна ли альтернатива  объектно-ориентированному стилю?  - Красноярск:  2000.  Деп.   рук.   №622-В00 Деп. В ВИНИТИ 13.03.2000. - 43 с.
Льюис Ф., Розенкранц Д., Стринз Р. Теоретические основы проектирования компиляторов. - М.:Мир, 1979.
Майерс Г. Архитектура современных ЭВМ:В 2-х книгах. Кн. 1.  М.:Мир, 1985. - 364 с.
Маккиман У. Генератор Компиляторов. - М.: Статистика, 1980.
Рейоурд-Смит   В.Дж.   Теория   формальных   языков.   Вводный   курс.   -   М.:   Радио   и   связь, 1988.
СибуяМ., Ямамото Т. Алгоритмы обработки данных. - М.: Мир, 1986. 
Страус труп   Б.   Язык   программирования   C++,   3-е   изд./Пер.   с   англ.   -   СПб.;   М.: "Невский Диалект" - "Издательство БИНОМ", 1999 г. - 991 с.
Фостер Дж. Автоматическийсинтаксическийанализ. - М.:Мир, 1975.
Языки  программирования   Ада,   Си,   Паскаль. Сравнение  и  оценка.  / Под  ред.   Фьюэра А.Р., Джехани Н. - М.: Радио исвязь, 1989.
Хантер Р. Проектирование и конструирование компиляторов / Пер. с англ.: - М.: Финансы и статистика, 1984. - 232 с.

Қосымша әдебиеттер:
Информатика. Базовый курс. Учебник для ВУЗов под ред. С. В. Симоновича.- Спб: Питер, 2002-638 с.
Коцюбинский А.О., Грошев С.В. Практическая информатика.- М,: ТЕХНОЛОДЖИ - 3000, 2002-432с.
Нортон П. Программно-аппаратная организация компьютеров IBM-PC. Киев, 1997
Фигурнов В.Э. IBM-PC для пользователей. М.: Финансы и статистика, 1997
Левин И.Н. ПК для пользователей. Киев: Диалектика, 2000
В.А. Острейковский. Информатика. Высшая школа, 1999
А.П.Алексеев. Информатика 2002 М.,2002
Пәндер