Název:
Rozhraní pro generování C# kódu
Překlad názvu:
API for C# code generation
Autoři:
Lukeš, Stanislav ; Hubička, Jan (vedoucí práce) ; Kliber, Filip (oponent) Typ dokumentu: Bakalářské práce
Rok:
2020
Jazyk:
eng
Abstrakt: [eng][cze] This work presents a library for implementing robust generators of C# code. Exist- ing code generators often generate invalid code for some inputs. Issues such as name collisions reduce the reliability of code generation. Programmers are then forced to han- dle these cases manually, which breaks build pipelines and lowers productivity. Our library solves these issues. It automatically avoids name collisions, and keeps the gener- ated code clean and human-readable. We compare our approach to other solutions such as reflection-based metaprogramming, macros, intermediate language rewriting and F# Type Providers. 1V práci představujeme knihovnu pro implementaci robustních generátorů kódu v jazyce C#. Stávající generátory kódu často pro nějaké vstupy produkují nepřeložitelný kód. Dochází ke jmeným kolizím a dalším problémům, což zhoršuje stabilitu generování kódu. Tyto případy pak rozbíjí zavedené procesy sestavování aplikací a programátoři je musí řešit ručně. Naše knihovna tyto problémy řeší. Automaticky se vyhýbá jmeným kolizím a dalším nejednoznačnostem, zatímco produkuje čitelný kód. Náš přístup porovnáme s jinými řešeními, mimo jiné s metaprogramováním založeném na reflexi, makrech a automatickým přepisováním mezijazyka. 1
Klíčová slova:
C#; Coberec; generování kódu; ILSpy; C#; Coberec; code generation; ILSpy