Home Tekniikka Kokoonpanoperiaate (MOC:n tarjoaa Harbin Institute of Technology)

Kokoonpanoperiaate (MOC:n tarjoaa Harbin Institute of Technology)



Kurssin luonne

Kurssin tausta

Maailman tietojenkäsittelytieteilijä Alfred V.Aho kirjoitti "Compiler" -julkaisun luvun 1 ensimmäisessä virkkeessä: "Kirjoita kääntäjä Periaate ja Tietokonetekniikalla on universaali merkitys, joten jokaisen tietotekniikan tutkijan uralla tämän kirjan periaatetta ja tekniikkaa käytetään toistuvasti.” Tämä lause osoittaa kokoamisen periaatteen tietojenkäsittelytieteen kurssilla Tärkeä asema Korkeatasoisia ohjelmointikieliä ohjelmien kirjoittamiseen käyttäneet oppijat tietävät, että kun ohjelma syötetään tietokoneeseen, tietokone voi toimia ihmisten tarpeiden mukaan Konekoodi, joka koostuu 0:sta ja 1:stä, on kieli, jota tietokone voi ymmärtää suoraan. Siksi korkean tason kielellä kirjoitettu ohjelma on lopulta "käännettävä" konekoodiksi, joka koostuu 0:sta ja 1:stä ennen sitä voidaan suorittaa tietokoneella. Tätä käännösprosessia kutsutaan kääntämiseksi.

Sopeutuksen tavoitteet

Kokoonpanon periaatteet on suunnattu pääasiassa tietojenkäsittelytieteen pääaineopiskelijoille ja siihen liittyvien teknologioiden harjoittajille.

Tuntien aloitustiedot

< td width="311" height="30">

24. helmikuuta 2020 - 31. heinäkuuta 2020

Aloitettujen kurssien määrä

Aloitusaika

>

Opettaja

>

Osallistujien määrä

Ensimmäinen luokka alkaa

4. syyskuuta 2017 - 31. joulukuuta 2017

Chen Yin, Guo Yong

>

10399

Tunnin toinen aloitus

5. maaliskuuta 2018~2018-07 kuukauden 31. päivä

>

16424

luokan kolmas aloitus

3. syyskuuta 2018 - 31. joulukuuta 2018

Chen Yin, Guo Yong, Tu Zhiying, Huang Cheng

>

11272

4. luokka alkaa

td>

18. helmikuuta 2019–31. heinäkuuta 2019

Chen Yin, Guo Yong 、Tu Zhiying

>

17757

5. luokka alkaa

td>

02.9.2019–31.12.2019

14153

6. luokka alkaa

< p>14168
>

7. luokka alkaa

31. elokuuta 2020 - 31. tammikuuta 2021

Määritetään myöhemmin

Kiinan yliopiston MOOC:n virallisten verkkosivujen mukaan kurssin ensimmäisestä seitsemänteen alkuun aikataulu on 3–5 tuntia viikossa.

Kurssin esittely

Luentoja on 20 kääntämisperiaatteista, joissa opetetaan pääasiassa kääntäjien suunnittelun ja toteutuksen pääteorioita ja tekniikoita. Niistä ensimmäinen luento esittelee kokoamisperiaatteiden käsitteellisen tuntemuksen; toisella ja kolmannella luennolla esitellään ohjelmointikieltä sekä sen kielioppi- ja leksikaalisen analyysin sisältö; 4.-14. luento esittelee kieliopin analyysin (osat 1-4) ja kieliopillisesti ohjattua kääntämistä (osa 1-3), välikoodin generointia (osat 1-4); Luento 15 esittelee tietoa tietokoneen käytöstä ja tallennustilan allokoinnista; Luennoilla 16-20 esitellään koodin optimoinnin edistynyt sisältö (osat 1-4) ja koodin generoinnin toteutus.

Kurssin luonnos

< td height="30">

4-14LALR-analyysimenetelmä

td>< td height="30">

Luento 2 ohjelmointikieli ja sen kielioppi

< td height="30">

Tämän luennon luentomuistiinpanot (PDF-tiedosto)

< td height="30">

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

tr>< /tr> tr>< td height="30">

8-15 Induktiivisten muuttujien poistaminen

tr>

Luento 1 Johdanto

>

6–9 ohjausvirtalausekkeiden jälkitäyttö

1-1 Mitä kokoaminen on

4-15 Epäselvä kieliopin LR-analyysi

6-10switch-lausekkeen käännös

1-2 Käännösjärjestelmän rakenne

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

6–11 proseduurikutsulauseiden kääntäminen

1-3 Yleiskatsaus leksiseen analyysiin

Virheenkäsittely 4-16LR-analyysissä

Simulaatioharjoitukset tässä luennossa (ei lasketa pisteitä)

1-4 Syntaksianalyysin yleiskatsaus

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

Tämän luennon luentomuistiinpanot (PDF-tiedosto)

1-5 Semanttisen analyysin yleiskatsaus

Luentomuistiinpanot (PDF-tiedosto)

>

p>

Luento 14 Tietovisa (pisteytys)

1-6 Yleiskatsaus välikoodin luomiseen ja kääntäjän taustaohjelmaan

[Keskustelu 7-1] Miksi samankeskisten alkiojoukkojen yhdistäminen ei tuota paluumuutosta Tietoja ristiriidoista?

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

[Keskustelu 7-2] Miksi LALR-analyysimenetelmä ei tee väärää liiketoimintoa?

Luento 15 Running Storage Allokation

Luentomuistiinpanot (PDF-tiedosto)

Luento 7 tietokilpailu (pisteytys)

>

7-1 Yleiskatsaus käynnissä olevasta tallennustilan varaamisesta

【Keskustelu 1-1 】Kääntämisprosessin ja manuaalisen käännösprosessin välinen suhde

Luento 8 Kieliopin ohjattu käännös 1

7-2 Staattisen tallennustilan varaus

【Keskustelu 1-2 】NIMI-kentän muotoilu symbolitaulukossa

5-1 Yleiskatsaus kielioppiohjatusta käännöksestä

7-3 Pinottu tallennustilan varaus

Luento 1 tietokilpailu (pisteytys)

td>

5-2 Syntaksiohjeiden määritelmä SDD

>

7-4 Kutsusarja ja paluusekvenssi

Luentomuistiinpanot (PPT-asiakirja)

>

5-3 SDD-arviointitilaus

>

7-5 Pääsy muihin kuin paikallisiin tietoihin

5-4S-attribuutin määritelmä ja L-attribuutin määritelmä

>

7–6 symbolitaulukko

2-1 peruskäsitettä

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

7–7 symbolitaulukon luominen

2-2 Lain määritelmä

Tämän luennon luentomuistiinpanot (PDF-tiedosto)

Tämä puhe simulaatioharjoituksista (ei pisteytetty)

>

2-3 kielen määritelmää

[Keskustelu 8-1] Kuinka esittää semanttista tietoa?

Tämän luennon luentomuistiinpanot (PDF-tiedosto)

2-4 Kieliopin luokitus

[Keskustelu 8-2] Miten lasketaan semanttiset attribuutit?

[Keskustelu 15-1] Kuinka rakentaa pääsyketju symbolitaulukon perusteella?

2-5CFG:n analyysipuu

[Keskustelu 8-3] Kuinka määrittää, onko attribuutti kattava vai peritty attribuutti?

[Keskustelu 15-2] Kuinka päästä käsiksi ei-paikalliseen tietoon symbolitaulukon perusteella?

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

[Keskustelu 8-4] Millainen SDD voi taata sen, missä järjestyksessä sen attribuutit lasketaan?

Luento 15 Tietovisa (pisteytys)

Tämän luennon luentomuistiinpanot (PDF-dokumentti)

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

[Keskustelu 2-1] Kyllä tietokoneessa Kuinka ilmaista kieltä?

[Keskustelu 8-5] Miksi S-SDD ja L-SDD voivat taata attribuuttien laskentajärjestyksen olemassaolon?

Oppitunti 16 Koodin optimointi 1

[Keskustelu 2-2] Voidaanko jokaista sanatyyppiä pitää kielenä?

Luento 8 Tietovisa (pisteytys)

Luentomuistiinpanot (PPT-asiakirja)

Luento 2 tietokilpailu (pisteytys)

Luento 9 Kielioppiopastettu käännös 2

>

8-1 vuokaavio

< /td>

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

Tämä luento Kurssin muistiinpanot (PPT-dokumentti)

8-2 Yleisesti käytettyjä koodin optimointimenetelmiä (1)

Oppitunti 3 Leksinen analyysi

5–5 kielioppiopastettu käännösprojekti SDT

8-3 Yleisesti käytettyjä koodin optimointimenetelmiä (2)

>

3-1 säännöllinen lauseke

>

5–6 käännös ei-rekursiivisen ennustavan analyysin prosessissa

< /td>

8-4 Peruslohkojen optimointi

3-2 Tavallinen määritelmä

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

Tämä puhe simulaatioharjoituksista (ei pisteytetty)

3-3 äärellistä automaattia

Tämän luennon luentomuistiinpanot (PDF-tiedosto)

< /td>

3–4 äärellisen automaatin luokitus

【 Keskustelu 9-1] Miksi S-SDD:n SDT voidaan toteuttaa samanaikaisesti syntaktisen analyysin prosessissa?

Luento 16 Tietovisa (pisteytys)

3-5 Säännöllisistä lausekkeista äärellisiin automaattisiin

[Keskustelu 9-2] Ei-rekursiivisen ennustavan analysaattorin laajennus

Luento 17 Koodin optimointi 2

3-6 Muunnos NFA:sta DFA:ksi

Luento 9 tietovisa (pisteytys)

>

3-7 Sanantunnistus DFA

Luento 10 Kieliopin ohjattu käännös 3

8–5 tietovirran analyysi

Tämä luento on simulaatioharjoitus (ei pisteytetty)

td>

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

8-6 Saapumismääräisen arvon analyysi

Luentomuistiinpanot (PDF-tiedosto)

5-7 Käännä rekursiivisen ennustavan analyysin aikana

8-7 Kiinteän arvon yhtälön saavuttamisen laskeminen

Oppitunti 3 Tietovisa (pisteytys)

5-8L-attribuutilla määritetty alhaalta ylös -käännös

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

Luentomuistiinpanot (PPT-asiakirja)

Tämän luennon simulaatioharjoitukset (ei pisteytetty)

td>

Tämän luennon luentomuistiinpanot (PDF-tiedosto)

< p>Luento 4 Syntaksianalyysi 1

Luentomuistiinpanot (PDF-tiedosto)

Oppitunti 17 Tietovisa (pisteytys)

4-1 ylhäältä Alaspäin suuntautuvan analyysin yleiskatsaus

[Keskustelu 10-1] Rekursiivisen ennustavan analysaattorin laajennus

Oppitunti 18 Koodin optimointi 3

4-2 kieliopin muunnos p>

[Keskustelu 10-2] Kieliopin ja käännössuunnitelman muutos

Tämä luento Kurssin muistiinpanot (PPT-dokumentti)

4-3LL(1) Kielioppi

Oppitunti 10 Tietovisa (pisteytys)

8–8 aktiivista muuttujaanalyysiä

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

Ei. 11 Keskustele keskitason koodisukupolvesta 1

>

8–9 käytettävissä olevaa lausekeanalyysiä

Tämän luennon luentomuistiinpanot (PDF-tiedosto)

>

6-1 tyyppinen lauseke

td>

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

4-4 ENSIMMÄISEN sarjan ja SEURAA joukon laskenta

>

6-2 Lausuntolauseiden käännös

< p>Luentomuistiinpanot (PDF-dokumentti)

Luentomuistiinpanot (PPT-dokumentti)

td>

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

Luento 18 Tietovisa (pisteytys)

Luento 4 tietokilpailu (pisteytys)

< /td>

Tämän luennon luentomuistiinpanot (PDF-dokumentti)

Luento 19: Koodin optimointi 4

Luento 5 Syntaksianalyysi 2

[Keskustelu 11-1] Miten lasketaan taulukon tyyppilauseke ja leveys?

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

4-5 Rekursiivinen ennustava analyysimenetelmä

Luento 11 Tietovisa (pisteytys)

8–10 dominointisolmua ja takareunaa

4-6 Ei-rekursiivinen ennustava analyysimenetelmä

Tämä luentokurssimoniste (PPT-dokumentti)

>

8-11 Luonnonkierto ja sen tunnistaminen

4-7 Virheiden käsittely ennakoivassa analyysissä

Oppitunti 12 Keskitason koodisukupolvi 2

8-12 Poista yleisiä yleisiä alilausekkeita ja kopioi lauseita

Tämä luento on simulaatioharjoitus (ei pisteytetty)

>

6-3 käännöstä yksinkertaisista tehtävälauseista

>

8-13 koodiliike

Tämän luennon luentomuistiinpanot (PDF-dokumentti)

>

6-4 Taulukkoviittauksien käännös

8-14 Induktiiviseen muutokseen vaikuttavan intensiteetin heikkeneminen

Oppitunti 5 Tietovisa (pisteytys)

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

Tämän luennon luentomuistiinpanot (PPT-dokumentti )

Tämän luennon luentomuistiinpanot (PDF-tiedosto)

Tämän luennon simulointi Harjoituskysymykset (ei pisteytetty)

Luento 6: Kieliopillinen analyysi 3

[Keskustelu 12-1] Taulukkoelementtien osoitteiden käännös

Luentomuistiinpanot (PDF-dokumentti)

Luentomuistiinpanot (PPT-asiakirja)

Luento 12 tietokilpailu (pisteytys)

Luento 19 Tietovisa (pisteytys) )

4–8 alhaalta ylös -analyysin yleiskatsaus

Luentomuistiinpanot (PPT-asiakirja)

Luento 20 Koodin luominen

4-9LR-analyysimenetelmän yleiskatsaus

Luento 13 Keskitason koodisukupolvi 3

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

>

4-10LR(0) analyysi

Tämän luennon luentomuistiinpanot (PPT-dokumentti)

< /td>

9-1-koodigeneraattorin päätehtävät

4 -11LR (0) analyysitaulukon rakennusalgoritmi

>

6–5 ohjausvirtalausetta ja sen SDT:tä

9-2 Yksinkertainen kohdekonemalli

Tämän luennon simulaatioharjoitukset (ei pisteytetty)

6-6 Boolen lauseke ja sen SDT

>

9-3 Komennon valinta

Luentomuistiinpanot (PDF-tiedosto)

6-7 ohjausvirran käännösesimerkki

>

9-4 rekisterin valinta Valitse

[Keskustelu 6-1] Työntöautomaattien ja äärellisten automaattien välinen suhde

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

9-5 rekisterin valintatoiminto getReg Design

[Keskustelu 6-2] Tilatietojen ja kielioppisymbolitietojen välinen suhde LR-kielioppianalyysipinossa< /p>

Tämän luennon luentomuistiinpanot (PDF-tiedosto)

>

9-6 kurkistusreiän optimointi

Luento 6 Tietovisa (pisteytys)

Oppitunti 13 Tietovisa (pisteytys)

Tämän luennon simulaatioharjoitukset (ei pisteytystä)

Luento 7 Syntaksianalyysi 4

Luento 14 Keskitason koodisukupolvi 4

Luentomuistiinpanot (PDF-dokumentti)

>

4-12SLR-analyysi

6-8 Boolen lausekkeen jälkitäyttö

Luento 20 tietovisa (pisteytys)

>

4 -13LR (1) analyysi

(Huomaa: opetussuunnitelman asettelu on vasemmalta oikealle sarakkeesta)

Esivalmistelut

Esitiedot

Ennen kuin opit kääntämisen periaatteet, sinun on valmisteltava edistyneet ohjelmointikielet, tietorakenteet, kokoelmat ja ammatillinen tietämys, kuten graafiteoria.

Oppimateriaalit

Kääntämisen periaatteiden oppimateriaaleja ovat "Kääntämisen periaatteet (2. painos): Undergraduate Teaching Edition" ja "Principles of Compilation".

< td width="261" height="30">

"Kääntäjät: periaatteet, tekniikat ja työkalut (toinen painos)"

>

Kirjan nimi

< p>Kirjoittaja

ISBN

< p>Julkaisuaika

Julkaisija

"Käyttöperiaatteet (toinen painos): Peruskoulun opetuspainos"

>

(US ) Alfred V.Aho

9787111269298

>

2009

Koneteollisuuspuristin

>

Alfred V. Aho jne.

>

------

td>

2006

Pearson Education, Inc p>

"Käyttöperiaatteet"

Jiang Zongli et al.

9787040290585

>

2010

Korkeakoululehdistö

Taulukon sisällön viitemateriaalit

Kunniapalkintoja

Vuonna 2018 Kiinan kansantasavalta hyväksyi kokoamisperiaatteen. Opetusministeriö tunnusti "kansallisen erinomaisen online-avoin" Kurssi".

Opettajan profiili

Chen Yin, nainen, Harbin Institute of Technologyn tietojenkäsittelyn laitoksen apulaisprofessori ja mestarituutori.

Guo Yong, mies, Harbin Institute of Technologyn lehtori.

Tu Zhiying, mies, Han-kansalainen, syntynyt 1983, tekniikan tohtori, apulaisprofessori ja Master-tutor Harbin Institute of Technologyn (Weihai) tietotekniikan ja teknologian korkeakoulussa.

This article is from the network, does not represent the position of this station. Please indicate the origin of reprint
TOP