Спосіб компіляції замикання вкладених функцій мови TypeScript у проміжну мову CIL платформи .NET
Анотація
У даній статі запропонований спосіб, який дозволяє ефективно компілювати замикання вкладених функцій з захопленими змінними у проміжну мову CIL платформи .NET. Розглянутий спосіб базується на ідеї зміни проміжного представлення програми шляхом створення класу, який зберігає значення замкнених змінних, і передається останнім аргументом у вкладену функцію. Це дозволяє зв’язати виклик функції з її захопленими змінними. Генерація CIL інструкцій відбувається вже для перетвореної програми. Результатом роботи способу є згенерований код, який демонструє кращу швидкодію, ніж код, що генерується існуючим аналогом.
Посилання
YangSun Lee, SeungWon Na, DaeHoon Hwang, Language Translator for Execution Java programs in .NET [Electronic resource]
Yannis Bres, Bernard Serpette, Manuel Serrano, Compiling Scheme programs to .NET Common Intermediate Language [Electronic resource]
Ivanenko A.R., Marchenko O.I Translation the concatenation of TypeScript string expressions into Common Intermediate Language of .NET platform. [Electronic resource]
Marchenko O.I., Ivanenko A.R. Analysis of TypeScript translation methods into Common Intermediate Language of .NET platform
Jeffrey Richter. CLR via C#. 2012
Marchenko O.I Synopsis of lectures on the subject "Software Engineering-1. Basics of translator design », Kyiv 2013.
Currying. Wikipedia. [Electronic resource] – Access mode:https://en.wikipedia.org/wiki/Currying
Mono.Cecil documentation [Electronic resource] – Access mode: https://cecil.pe/


