自循環直譯器自循環直譯器(英語:Meta-circular evaluator)是元直譯器(Metainterpreter,或Self-interpreter)的一種。自循環直譯器不僅是在直譯語言中寫成(如Scheme的自循環直譯器是在Scheme中寫成),而且通過底層語言的功能來實現直譯語言的功能。因此,自循環直譯器不需擔心如何具體實現任何功能,而只需處理語言讀入與直譯,所以尤其適合作為教育用途。自循環直譯器一般在同像(即程式與資料為同一格式,如Lisp)的語言中出現。 自循環直譯器最早出現於約翰·麥卡錫的Lisp 1.5版定義,其中麥卡錫以Lisp語言的功能來描述Lisp的直譯規則[1]。 Eval/Apply循環著名電腦科學教科書《计算机程序的构造和解释》詳細研究了一個Scheme語言的自循環直譯器[2]。此書中的直譯器包含兩個主要元素:
這兩個元素互相呼叫,並最終將整個程式轉換為其取值。 實例例如以下簡單的Scheme表示式(假設 (+ (square 2) (square 3))
其直譯過程如下:
參見註釋
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia