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
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í | p>
(Note: the syllabus layout Arranged from left to right )
Informace o otevírání třídy
< p>Number of classes started | Čas zahájení třídy | th>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ů.