Ішінара бағалау - Partial evaluation

Жылы есептеу, ішінара бағалау - бұл бірнеше түрлі типтерге арналған әдіс бағдарламаны оңтайландыру арқылы мамандандыру. Ең қарапайым қосымшасы - түпнұсқаларға қарағанда жылдамырақ жұмыс істейтін жаңа бағдарламалар шығару, сонымен қатар сол сияқты әрекет етуге кепілдік беру.

A компьютерлік бағдарлама прог ретінде көрінеді картаға түсіру деректерді шығыс деректерге енгізу:

қайда , статикалық деректер, бұл компиляция кезінде белгілі болатын кіріс мәліметтер бөлігі.

Ішінара бағалаушы түрлендіреді ішіне компиляция кезінде барлық статикалық кірісті алдын-ала есептеу арқылы. «қалдық бағдарлама» деп аталады және бастапқы бағдарламаға қарағанда тиімдірек жұмыс істеуі керек. Ішінара бағалау актісі «қалдық» деп аталады дейін .

Futamura болжамдары

Жартылай бағалауды қолданудың ерекше қызықты мысалы, алғаш рет 1970 жылдары Ёсихико Футамура сипаттаған,[1] қашан прог - бағдарламалау тілінің аудармашысы.

Егер Менстатикалық - бұл осы аудармашының ішінде жұмыс істеуге арналған бастапқы код, содан кейін осы деректерге / бағдарламаға қатысты аудармашыны ішінара бағалау жасалады прог*, тек сол бастапқы кодты іске асыратын, аудармашының іске асыру тілінде жазылған, бастапқы кодтың толтырылуын қажет етпейтін және аудармашының бастапқы көзі мен аудармаға қарағанда жылдамырақ жұмыс жасайтын аудармашының нұсқасы. Бұл жағдайда прог* тиімді түрде құрастырылған нұсқасы болып табылады Менстатикалық.

Бұл әдіс алғашқы Futamura проекциясы ретінде белгілі, оның үшеуі бар:

  1. Берілетін бастапқы кодқа аудармашыны мамандандыру, орындалатын нәтиже беру.
  2. Компиляторды бере отырып, аудармашыға мамандандырылған (№1-де көрсетілгендей).
  3. Өзіне мамандандыруды мамандандыру (№2-де көрсетілгендей), кез-келген аудармашыны баламалы компиляторға айналдыра алатын құрал.

Сонымен қатар, №3 құралды өзіне қолдану құралдың өзін береді, сондықтан ол а Квине.

Оларды Футамура алғаш рет 1983 жылы сипаттаған.[2]

Сондай-ақ қараңыз

Әдебиеттер тізімі

Жалпы сілтемелер

  • Ёсихико Футамура, https://web.archive.org/web/20110629171734/http://www.brics.dk/~hosc/local/HOSC-12-4-pp381-391.pdf Есептеу процесін ішінара бағалау - компилятор-компиляторға көзқарас
  • Чарльз Консель және Оливье Дэнви (1993). «Ішінара бағалау туралы нұсқаулық». Бағдарламалау тілдерінің принциптері бойынша жиырма жылдық ACM симпозиумының материалдары: 493–501.

Сыртқы сілтемелер