Principy kompilátoru

Samotná povaha

Umístění kurzu

Kurz principu kompilace je povinný kurz pro velké vědy a technologické společnosti, prostřednictvím popisu jazyka na vysoké úrovni a jeho gramatiky, lexikální analýzou, gramatikou Studium analýzy, gramatiky atributů a gramatické překlady, sémantickou analýzu a generování mezilehlých kódůUmožňuje studentům ovládat schopnost analyzovat, navrhovat, implementovat a udržovat kompilační systém, porozumět programovému jazyku a procesu provádění programu a zlepšit celkový rozpoznávání celkového počítačového systému.

Přizpůsobit se velkým společnostem

Průběh principů kompilace je vhodný pro počítačové společnosti, jako je počítačová věda a technologie.

Úvod kurzu

V kurzu principů kompilátoru je 25 kapitol.První kapitola představuje strukturu kompilátoru, generování kompilátoru a dalších znalostních bodů;Druhá kapitola popisuje programovací jazyk na vysoké úrovni obecnost gramatiky a jiného obsahu;Kapitola 3 představuje znalostní body, jako jsou gramatické stromy a nejednoznačnost;Kapitoly 4 až 6 popisují návrh lexikálních analyzátorů, formalizaci lexikálních pravidel, ekvivalenci formálních a konečných automatů atd..Obsah;Kapitoly 7 až 9 Představujte znalostní body, jako je první a sledovaná konstrukce sady, konstrukce rekurzivních analyzátorů sestupu, konstrukce tabulky prediktivní analýzy atd..;;Kapitoly 10 až 13 Popište algoritmy, kliky a kanonické redukce, živé předpony, metoda analýzy LR atd..;;Kapitola 14 až kapitola 15 Představte znalostní body, jako je výpočet atributů a design překladatele rekurzivního sestupu;Kapitola 16 až kapitola 19 Popište běžně používané formy mezilehlého jazyka a prvky pole Referenční překlad, optimalizované překlady booleovských výrazů, výpočty atributů ovládacích příkazů atd..;;Kapitola 20 představuje znalostní body, jako je organizace a provoz tabulek symbolů;Kapitoly 21 až 22 popisují správu statického úložiště a vložení správy dynamického úložiště sady procedurálních jazyků;Kapitola 23 až kapitola 24 představuje znalostní body, jako je místní optimalizace a extrakce kódu;Kapitola 25 popisuje nevyužité informace a aktivní informace, generování kódu a algoritmy přidělování registru a další obsah.

Osnova kurzu

p>

Druhý test jednotky

Kapitola 14 Gramatika a gramatika s průvodcem 1

14.1 Gramatika atributu

< p>14.2 Attribute Calculation

Kapitola 15 Atribut Gramatika a gramatika vedená překlad 2

15.Gramatika 1S-ATTRIBUT

15.2 L-attributová gramatika

15.3 Režim překladu

15.4 Návrh překladatele rekurzivního sestupu

15.5 Shrnutí

Šestnáctá kapitola sémantická analýza a mezilehlý kód generování 1

16.1 střední jazyk

16.2 běžné formy mezilehlého jazyka

16.3 Shrnutí

Test třetí jednotky

Kapitola 17 sémantická analýza a generování mezilehlých kódů 2

17.1 Překlad prohlášení o přiřazení

17.2 Překlad odkazu na prvek pole

17.Konverze 3 typu

17.4 Shrnutí

Kapitola 18 Sémantická analýza a generování mezilehlých kódů 3

18.1 Booleovské výrazy a jejich výpočty

18.2 Přeložit booleovské výrazy numerickou reprezentací

18.3 Booleovské výrazy s optimalizovaným překladem

18.4 Shrnutí

Kapitola 19 sémantický analýza a generování mezilehlých kódů 4

19.1 běžně používaná kontrolní prohlášení

19.2 Gramatika pro kontrolní příkazy

19.3 Výpočet atributů výpočtu ovládacího příkazu

p>

19.4 Skenování překladových kontrol vět

19.5 PŘÍKLADNÍ SKÁMENÍ PŘEDCHOZÍ PŘEDCHOZÍ PŘÍKLADY

19.6 Shrnutí

4. test jednotky

Kapitola 20 Tabulka symbolů

20.1 Organizace a provoz tabulky symbolů

20.2 Obsah tabulky symbolů

20.3 Pomocí tabulky symbolů analyzujte rozsah jmen

20.4 Shrnutí

Kapitola 21 Organizace úložného prostoru pro úložiště 1

21.1 Průběh parametru

21.2 aktivity během běhu cílového programu

21.3 Správa statického úložiště

Kapitola 22 Organizace úložného prostoru pro úložiště 2

b>

22.1 Přehled správy dynamického úložiště

22.2 Dynamické řízení úložiště nenostených procedurálních jazyků

22.3 Správa dynamického úložiště vnořených procedurálních jazyků, statický řetězový řetězec

22.4 Správa dynamického úložiště vnořené metody procedurálního jazyka-display

22.5 Shrnutí

Kapitola 23 Optimalizace 1

23.1 Přehled optimalizace

23.2 Divize částečné optimalizace-bazické bloky

23.3 Optimalizace částečné optimalizace-bazické bloky

Kapitola 24 Optimalizace 2

24.1 Přehled optimalizace smyčky

24.Outsourcing 2 kódu

24.3 Oslabení síly

24.4 Shrnutí

Kapitola 25 Generování cílového kódu

25.1 Přehled generování cílového kódu

25.2 Model cílového stroje

25.3 Generátor jednoduchého kódu

25.4 Informace o pohotovostním režimu a aktivní informace

25.5 Popis proměnné adresy a popis registru

25.6 generování kódu a algoritmus přidělování registru

25.7 Shrnutí

Test páté jednotky

Kapitola jedna úvod

1.1 Co je kompilátor

1.2 Proč bych se měl naučit principy kompilace

1.3 Proces kompilace

1.4 Struktura kompilátoru

1.5 generace kompilátoru

1.6 Shrnutí

Druhá kapitola Přehled pokročilého programovacího jazyka

2.1 běžný pokročilý programovací jazyk

2.2 Definice programovacího jazyka

2.3 Obecné charakteristiky programovacího jazyka na vysoké úrovni

2.4 Shrnutí

Syntaxe třetí kapitoly Popis pokročilého programovacího jazyka

3.1 gramatika bez kontextu

3.2 gramatika a jazyk

3.3 Syntaxe strom a nejednoznačnost

p>

3.4 Letecký pohled na formální jazyk

3.5 Shrnutí

Kapitola IV lexikální analýza 1

4.1 Overview of Lexical Analysis< /p>

4.2 Návrh lexikálního analyzátoru

4.3 Shrnutí

Kapitola 5 Lexikální analýza 2

5.1 Lexikální formalizace pravidel-normálních sad a normálních forem

5.2 Deterministické konečné automaty

5.3 Nedeterministické konečné automaty

5.4 Shrnutí

Kapitola VI Lexical Analysis 3

6.1 Ekvivalence konečných automatů

6.2 Ekvivalence pravidelných forem a konečných automatů

6.3 Automatická generování programu lexikální analýzy

První test jednotky

Chapter Seven Syntax Analysis-Top-down Analysis 1< /p>

7.1 Základní problémy analýzy shora dolů

7.2LL GRAMMAR - Eliminate left rekurze v gramatice

7.3LL GRAMMAR - Eliminate BackTracking

7.4 Konstrukce první a sledování sbírek

7.5 Shrnutí

Kapitola 8 Analýza syntaxe-top-down analýza 2

8.1 Vytváření analyzátoru rekurzivního sestupu

8.2 Expanded Backus Paradigm and Syntax Diagram

8.3 Úvod do javacc

8.4 Shrnutí

Kapitola 9 Analýza syntaxe-top-down analýza 3

9.1 Program prediktivní analýzy

9.2 Tabulka konstrukce prediktivní analýzy

< p>9.3 Shrnutí

Kapitola deset analýzy syntaxe analýzy-up analýza 1

10.1 Analýza zdola nahoru

10.2 fráze a přímé fráze

10.3 Popis procesu analýzy

10.4 Gramatika 4 operátora

10.5 TABULKA PRICORITOVÉHO PRIORITY

10.6 Algoritmus analýzy priority operátora

10.7 Shrnutí

Chapter 11 Syntax Analysis-Bottom-up Analysis 2< /b>

11.1 Snížení rukojeti a specifikace

11.Metoda analýzy 2LR

11.3 Shrnutí

Kapitola 12 Analýza analýzy-up-up Analýza 3

12.1 živá předpona

12.2 Konstruktujte DFA, který rozpoznává živou předponu

12.3 Tabulka analýzy konstrukcí LR

12.4 Shrnutí

Kapitola 13 Analýza analýzy syntaxe-up analýza 4

13.Metoda analýzy 1SLR

p>

13.Metoda analýzy 2LR

13.Nástroj pro generování 3LR analyzátoru

13.4 Shrnutí

(Note: the syllabus layout Arranged from left to right )

Informace o otevírání třídy

th>
< p>Number of classes started

Čas zahájení třídy

Učitel

Uspořádání hodin třídy

Number of participants p>

První začátek třídy

8. října 2018-28. ledna 2019

Wang Ting, Tang Jintao, Huang Chun, Li Shasha, Liu Chunlin, Zhou Huiping

3-5 hodin týdně

10036

Druhá třída začíná

4. března 2019-1. července 2019

8753

Třetí začátek třídy

2019 2. září-19. ledna 20. ledna 2020

9505

4. třída začíná

10. února 2020 den-20. července 2020

Wang Ting, Tang Jintao, Huang Chun, Li Shasha, Zhou Huiping

20030

Začíná 5 tříd

31. srpna 2020-leden 25. ledna 2021

Wang Ting, Tang Jintao, Huang Chun, Li Shasha, Liu Chunlin, Zhou Huiping

11952

6. třída začíná

1. března 2021-26. července 2021

13052

Sedmá třída začíná

30. srpna 2021-2022 24. ledna

Být odhodlán

(Note: Table content reference material)

Výuka cílů

Prostřednictvím studia kurzu principu kompilace mohou studenti dosáhnout následujících cílů:

1.Pochopení struktury, pracovního postupu a na základě zásad návrhu a implementačních technologií různých složek kompilátoru, je získána předběžná schopnost analyzovat, navrhovat, implementovat a udržovat kompilační systém.

2.Hluboce porozumět procesu jazyku programu a provádění programu a zlepšit celkové porozumění počítačovému systému.

3.Metody výpočetního myšlení, jako je abstrakce, automatizace a rekurze, mohou být ztělesněny v procesu kompilace a lze jej použít na zpracování přirozeného jazyka, ověření programu, zpracování informací o síti a další pole pro řešení problémů.

Předběžné studium

Předběžné znalosti

Průběh kompilace principů vyžaduje znalosti počítačového programování a znalosti programování, jakož i znalosti o datových strukturách a algoritmech, počítačových principech a diskrétních mají určité pochopení matematiky a dalších znalostí.

Učební materiály

Název knihy

th>

Autor

Datum publikace

lis

„Princip kompilace jazyka pro návrh programu“

Chen Huowang, Liu Chunlin

2000

National Defense Industry lis

《Compilers: Principy, techniky a nástroje (druhé vydání) “

Alfred v.Aho, monica s.Lam, Ravi Sethi, Jeffrey D.Ullman

2006

Pearson Education

p>

(Note: Table content reference material )

Evaluation criteria h2>

Žadatelé mohou požádat o „certifikát“, pokud je hodnocení průběhu principů kompilace „předáno“ (dosaženo 60 bodů) nebo „vynikající“ (dosaženo 85 bodů).

Vyznamenání vyhrálo

27. listopadu 2007 byl ministerstvo školství v Čínské lidové republice uznáno jako „národní výborný kurz“.

28. června 2016 bylo ministerstvem školství v Čínské lidové republice uznáno jako „první dávka národních výborných kurzů sdílení zdrojů“.

V roce 2019 bylo ministerstvem školství v Čínské lidové republice uznáno jako „národní vynikající online otevřený kurz“ lidové republiky “..

Dne 24. listopadu 2020 bylo ministerstvem školství v Čínské lidové republice uznáno jako „první dávka národních prvotřídních vysokoškolských kurzů“.

Učitel profile

Wang Ting je profesorem na Národní univerzitě obrany technologie čínské lidové osvobozenecké armády.Je zodpovědný za výuku principů kompilace, úvod do umělé inteligence a zpracování přirozeného jazyka.

Tang Jintao je docentem na Národní univerzitě obrany technologie čínské lidové osvobozenecké armády.

Huang Chun, výzkumný pracovník na Národní univerzitě obrany technologie Čínské lidové osvobozenecké armády, se věnuje výuce a vědeckému výzkumu softwaru počítačového systému.

Li Shasha je přednášejícím ve škole počítačové vědy, National University of Defense Technology of Chinese People's Liberation Army.Zabývá se výukou a výzkumem v oblasti umělé inteligence a těžby dat.

Liu Chunlin je profesorem na Národní univerzitě obrany technologie čínské lidové osvobozenecké armády.Zabývá se výzkumnou prací v oblasti programovacího jazyka a kompilace a digitální knihovny.

Zhou Huiping je docentem na Národní univerzitě obrany technologie čínské lidové osvobozenecké armády.Je zodpovědný za výuku kompilace principů, počítačového programování, datové struktury a dalších kurzů.

Související články
HORNÍ