Lik'homphieuthaMananeo a

Seboholi - ke ... Types of bakwadi. Sokolla le mananeo a hasoa

Mananeo a, hammoho le batho ba ho fetolela ho tloha puo e 'ngoe ho e mong hloka toloko kapa mofetoleli.

bopa dikgopolo tsa mantlha

lenaneo le ke boemedi puo ea dipalelo: kea → P → P (i). Toloko ke lenaneo leo e fuoa lenaneo input P 'me ba bang-x input. Ho etsa ka P: x: Ke (P, x,) = P (x e). The ha e le hantle hore ho na le mofetoleli 'ngoe feela e nang le bokhoni ba ho etsa mananeo a ho khoneha (e leng e ka ba bararo tsamaiso ea ka puo ea khale) ke ea bohlokoa haholo' me bohlokoa sibolloa Turing.

The lab ke toloko ea mananeo a ka puo mochine. Ka kakaretso theko e phahameng haholo ho ngola bafetoleli ba lipuo tse phahameng, kahoo ba ile ba fetolela ka sebōpeho sa hore ha ho bonolo ho hlalosa.

Mefuta e meng ea bafetoleli ba na le mabitso a sa tloaelehang haholo:

  • The assembler fetolela mananeo puo kopano ka puo mochine.
  • The mokelli fetolela puo ea phahameng puong e tlaase.

Seboholi - ke lenaneo le nka e le ya data input lenaneo ka bang puo S 'me a hlahisa T lenaneo ka tsela eo ka eona ka bobeli ba na le sebopeho-puo e tšoanang: P → X → Q. Ke hore, ∀x. P (x,) = Q (x e).

Ha hasa lenaneo lohle ka ntho e 'ngoe interpretable, e bitsoa e le rulagannya pele phetha, kapa AOT rulagannya. AOT mokelli ka sebelisoa letotong, e qetellang ea eona e ke atisa ho ba assembler, ho etsa mohlala:

Mohloli khoutu mokelli → (mofetoleli) → → kopano khoutu assembler (mokelli) → → CPU mochini khoutu (toloko).

Tshebetso kapa a maholo rulagannya le hlaha ha lenaneo e hasa, ha bolaoa ke a mang karolo pele hlophiswa. JIT-bakwadi hopola seo ba se entseng hore ba se ke ho pheta mohloli khoutu ho pheta-pheta. Ba ile ba ka esita le ho hlahisa etsehang rulagannya le recompilation thehiloeng boitšoaro ba tikoloho lenaneo bolaoa.

Lipuong tse ngata ho dumella ho e phethisa khoutu ka nako bokelle le ngola le khoutu e ntjha ka runtime.

sethaleng phetolelo

Hasoa kenyelletsa ditokiseletso mehato ea hlahloba le synthesizing:

Mohloli khoutu semanolli → → → tlhaloganyong boemedi jenereithara (Synthesizer) → phofu khoutu ya.

Sena ke ka lebaka la ho mabaka ana:

  • mokhoa leha e le efe ha se loketseng. Lentsoe phetolelo mpa feela ha se sebetse.
  • Ntle le boenjiniere tharollo: haeba u batla ho ngola bafetoleli ba lipuo tse M le N mohloding targeted hlokahale ngola feela M + N mananeo e bonolo (polukompilyatorov) ho ena le ho M × N rarahaneng (kakaretso ea bafetoleli ba).

Leha ho le joalo, ka liketso, ba le pono tlhaloganyong a ka seoelo haholo itlhalosang lekana le matla a lekaneng ho koahela mong le e mong ka nahanoang mohloding le shebiloeng lipuo. Le hoja ba bang ba ile ba khona ho tla haufi le ena.

bakwadi Real feta methati e mengata. Ha ho bōpa mokelli hao ha ho hlokahale hore pheta mosebetsi oohle ka thata hore batho ba se entseng ho bopa boemedi le lijenereithara. O ka fetolela puo ea hao ka ho toba ka Javascript kapa C le nka sebelisa monyetla oa ho o teng Javascript-enjene le C mokelli ho etsa ba bang kaofela. U ka boela ua sebelisa o teng boemedi lipakeng le mechine ho ka thoeng.

rekoto mofetoleli

Seboholi - ke lenaneo kapa hardware, o neng o akarelletsa lipuo tse tharo: mohloli, e eang teng 'me e le setsi. Ba ka e ngotsweng ka T-shape, tsamaisa ea pele ka ho le letšehali, le letona le shebiloeng botlaaseng ka tlase.

Ho na le mefuta e meraro ea bakwadi:

  • Seboholi - ke samokompilyator haeba ho tšoana le puo ea motheo mohloding.
  • Mokelli eo liphofu puo ke ya motheo, e bitsoang samorezidentnym.
  • Seboholi - sefapano-mokelli, haeba a targeted le motheo lipuo tse sa tšoaneng.

Ke hobane'ng ha see e le sa bohlokoa?

Esita le haeba ha ho mohla u etsa mokelli oa sebele, le tsebo e ntle ea theknoloji ea pōpo ea lona, hobane khopolo sebediswa bakeng sa morero ona ho sebelisoa haholo, ho etsa mohlala:

  • fomata sengolwa;
  • dipotso puo ho databases;
  • e tsoetseng pele ya khomphuta ya hao mehaho;
  • generalized mathata gogolo;
  • GUIs;
  • lipuo ho ngola;
  • laolang;
  • mechine e ho ka thoeng;
  • Machine phetolelo.

Ho phaella moo, haeba u batla ho ngola preprocessors, linkers, gommate, debuggers le profilers, o lokela ho tsamaea ka mehato e tšoanang e le ha a ngolla e mokelli.

U ka boela ua ithuta kamoo ba ka ngola mananeo a molemo, kaha ho ne ho bōptjoa ba mofetoleli bakeng sa puo ea ho bolela ho utloisisa intricacies lona le ambiguities. Ho ithuta melao-motheo e akaretsang ea kgaso hape lumella u ho ba e ntle puo moqapi. Kahoo ha e le habohlokoa kamoo moepa puo eo ha e ke ke ho sebediswa ka katleho?

thekenoloji akaretsang

mokelli thekenoloji koahela libakeng tse ngata tse sa tšoaneng ba saense ya khomphuta ya hao:

  • khopolo ka molao puo: sebōpeho-puo, parsing, computability;
  • mehaho ya khomphuta ya hao:. thupelo ea likela, RISC kapa CISC, pipelined sebetsa konokono oache lipotolohong, joalo-joalo;
  • dikgopolo tsa lipuo tse mananeo a, ho etsa mohlala, a etsa taolo tatelano, tlas'a maemo a ho bolaoa, iteration, iphethaphetha, mesebetsing li bole kapele, modulate, kahamahanyo, Meta-mananeo, ho pharalla, kamehla potlana-mefuta e, le dithempleite, mofuta khumo, prototypes, annotations, phallo, monads, mailboxes, tsoela pele , wildcards, poleloana e reng kamehla, thekisetsano memori, lefa la, polymorphism, Litlhophiso mokgwa wa, joalo-joalo jj..;
  • lipuo bonahaleng le mechine e ho ka thoeng;
  • dikgatotharabololong le ya data dibopeho: lipoleloana kamehla, parsing dikgatotharabololong, Grafiken dikgatotharabololong, matla mananeo, koetliso ea ho;
  • mananeo lipuo: hokahanngoang, sebopeho-puo (ee sa fetoleng boemo le matla), tšehetso paradigms (mehaho, OOP, mesebetsing, e utloahalang, spongebob, parallelism, Meta-mananeo);
  • pōpo ea Software (bakwadi, hangata le leholo le le rarahaneng): diriswa, caching, componentize, API-likarolo, botjha tšebeliso, kahamahanyo.

mokelli moralo

A mang a mathata le kopana ka ntshetsopele ya mofetoleli oa sebele:

  • Mathata a ka puo mohloli. Na ho bonolo ho ngola joang? Na ho na le preprocessor? Kamoo le mefuta e joang? Na ho na le laebrari eo?
  • Khomo khomo mokelli makhalong: masoha kapa selotlolo tsela?
  • Tekanyo ea ho gogolo batlang. Fast le tse sa hloekang mananeo a hasoa ka gogolo honyenyane kapa ha ho na e ka ba ntho e tloaelehileng. Holimo-gogolo mokelli tla fokotsa lebelo, empa molemo khoutu ho runtime e ka rekoa eona.
  • Tekanyo hlokahalang tsa bonoa phoso. Ka mofetoleli ea nang le toka ema phoso ea pele? Ha e tlameha ho emisa? Hore na ho tšepa mokelli phoso khalemelo?
  • Boteng ba lisebelisoa. Ha puo pele ha se le monyenyane haholo, e-itlho le jenereithara analyzers lia hlokahala. Ho boetse ho na lijenereithara, khoutu lijenereithara, empa ba ne ba ha e le lintho tse tloaelehileng.
  • Mofuta oa shebiloeng khoutu ho hlahisoang. A khetha ho tswa ho e hloekileng tlatsitsoe kapa ka thoeng mochini khoutu ya. Kapa u ngolle feela e kena karolo e baka e ratoa lipakeng boemedi kang LLVM, RTL, kapa JVM. Kapa ho etsa phetolelo ea pele ka mohloli khoutu ho C kapa Javascript.
  • The le fomate ya shebiloeng khoutu ya. O ka khetha e puo kopano, e nkehang habobebe mochini code, mochini khoutu ya memori ho setšoantšo.
  • Retargeting. Ha e behiloeng ea lijenereithara ntho e ntle ho ba le tloaelehileng le sebelisoang malapeng lesoba karolo. Ka lebaka lena ho molemo ho ba le jenereithara e mong bakeng sa input ea likarolo tse ngata.

mokelli Architecture: dikarolo

Tsena ke tse khōlō tshebetso dikarolo tsa mokelli hore chelete khoutu letsoalloa (haeba lenaneo khumo ke lenaneo ka C kapa mochine o ho ka thoeng, o ha ho hlokahale hore mekhahlelo e le ngata):

  • Lenaneo la input (phallo matshwao) feptjoang ka itlho (lexical semanolli), e fetola hore e be le molapo oa tokens.
  • Parser (parser) haha e 'ngoe e sa bonahaleng hokahanngoang sefate.
  • Labeled semantic semanolli bola tlhahisoleseding labeled semantic le licheke ya nodes sefate bakeng sa liphoso. Ka lebaka leo, e hahiloeng labeled semantic kerafo - inahaneloang hokahanngoang sefate le thepa tse eketsehileng le maqhama thata.
  • Lipakeng khoutu jenereithara haha le phallo kerafo (tuples li hlophisitsoe ka ho na le masakana ka sehloohong).
  • Machine-ikemetseng khoutu sephatsimisi khanna bobeli ea moo (hara unit trust botlaaseng) le lefatše (ho diboloko tsotlhe) gogolo ha e le hantle setseng ka har'a ditlwaelo. Fokotsa khoutu e sa hlokeheng le simplifies dipalelo ena. Phello ke fetotsoeng phallo kerafo.
  • Jenereithara tlama shebiloeng khoutu ho na le masakana motheo e be rectilinear phetiso taolo code, ho bōpa ntho faele assembler thoeng ngolisang (mohlomong thuso).
  • Machine-itšetlehileng ka sephatsimisi, linker allocates memoring ya pakeng tsa ngolisang le etsa rera lihlopha. Ho etsa lenaneo la ho sokoloha ka puo sebokeng sa phutheho ena ka sebelisa hamolemo pipelining.

Ho phaella moo, ho sebelisoa ha subsystem mookameli phoso phumano le litafole letshwao.

and analysis Lexical (anthivaerase)

The itlho fetola le litlhaku le molapo mohloding ka na le molapo oa tokens, tlosa whitespace, maikutlo le ho atolosa macros.

Mechine hangata e thulana le mathata, a kang hore na kapa ha ho nahana ka boemo ke bofe, margins, khefu mola le maikutlo aa ageletsweng.

Liphoso tse ka etsahala nakong anthivaerase, e bitsoang lexical le kenyeletsa:

  • litlhaku tse sieo ka alfabeta ea;
  • feteletseng la ba bangata le batho bao ho buuoang ka lentsoe kapa mola;
  • ha e koetsoeng letšoao kapa khoele ea sebele;
  • Qetellong ea faele ka ho hlahisa maikutlo.

Parsing (parsing)

The parser fetola tatelano ya tokens ka e inahaneloang sefate hokahanngoang. E mong le e noute ka sefate e bolokoa e le ntho le masimo a bitsoang, tse ngata tsa tsona ba se ba le sefate nodes. Mothating ona ha ho na lipotoloho. Ha o bopa parser hlokahala ho lefa a lebisa tlhokomelo ho boemo ba rarahana ha sebōpeho-puo (ll, kapa LR) 'me u fumane hore na ho na le melao efe kapa efe disambiguation. Lipuo tse ling u se hlokang and analysis labeled semantic.

Liphoso fumanoa mothating ona ba bitsoa hokahanngoang. Mohlala:

  • K = 5 * (7 - featswan;
  • ya j = / 5;
  • 56 = x, * 4.

and analysis labeled semantic

Lilemong tsa bo- and analysis labeled semantic ho hlahloba permissibility la melao le likarolo itsoakanye tsa sefate lokolola (lumella mabitso ya referense ho kenyeletsa tshebetso bakeng sa liphetoho mofuta feletseng, 'me joalo-joalo. D.) Ka eaba ba etsa le kerafo labeled semantic.

Ho hlakile hore, e behiloeng ea admissibility la melao ka lipuo tse fapaneng tse sa tšoaneng. Ha o ngola le lipuo Java-joaloka, bakwadi ka fumana:

  • multiple polygonal phatlalatso ka hare ho pharalla lona;
  • le tlhaloso ya polygonal pele phatlalatso ea bona;
  • litšupiso lebitso la undeclared;
  • itlhokomoloso tsa litokelo tsa litokelo tsa molao;
  • ka tsela e feteletseng kapa lekaneng palo ya mabaka a ka mokhoa pitso;
  • mofuta mismatch.

molokong o mong

Lipakeng khoutu molokong o mong ka hlahisa phallo kerafo entsoe ka tuples, hlophisitsoe ka ho na le masakana motheo.

khoutu molokong o mong ka hlahisa oa sebele mochini khoutu ya. Ka bakwadi ba setso bakeng sa RISC-mechine ka mohato oa pele, o theha assembler le palo e ke keng ba lekanngoa ba ngolisang ka thoeng. Bakeng sa CISC-mechine mohlomong ke ke ha etsahala.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 st.delachieve.com. Theme powered by WordPress.