IntelliSense Implementation of a Dynamic Language
Název práce v češtině: | Implementace IntelliSense pro dynamický jazyk |
---|---|
Název v anglickém jazyce: | IntelliSense Implementation of a Dynamic Language |
Akademický rok vypsání: | 2008/2009 |
Typ práce: | diplomová práce |
Jazyk práce: | angličtina |
Ústav: | Katedra softwarového inženýrství (32-KSI) |
Vedoucí / školitel: | RNDr. Filip Zavoral, Ph.D. |
Řešitel: | skrytý![]() |
Datum přihlášení: | 19.11.2008 |
Datum zadání: | 19.11.2008 |
Datum a čas obhajoby: | 07.09.2009 00:00 |
Datum odevzdání elektronické podoby: | 07.09.2009 |
Datum proběhlé obhajoby: | 07.09.2009 |
Oponenti: | doc. RNDr. Pavel Parízek, Ph.D. |
Zásady pro vypracování |
By analyzing the abstract syntax tree of the source code offer a list of possible completions for the word just being typed or a list of all words which should be placed at the specified place. Into this analysis include all constructs defined in or referenced by the application being edited. Every offered symbol name should have a short description generated using metadata-based reflection. Propose methods how to solve problems of incomplete information of types and of declarations in dynamic languages which are fully known during runtime.
The integral part of the work will be the implementation of proposed mechanisms for the chosen dynamic language (PHP). |
Seznam odborné literatury |
1) Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Principles, Techniques, and Tools
2) J. E. Hopcroft, J. D. Ullman: Introduction to Automata Theory, Languages and Computation 3) Using IntelliSense, http://msdn.microsoft.com/en-us/library/hcw1s69b.aspx 4) PHP compiler, http://www.codeplex.com/Phalanger, http://www.php-compiler.net/ |
Předběžná náplň práce |
Analýzou abstraktního syntaktického stromu zdrojového kódu zjišťujte v reálném čase možná doplnění pro slovo, které programátor právě píše nebo bude moci na konkrétním místě napsat. Do analýzy zahrňte všechny definice referencované právě psanou aplikací. K nabízeným symbolům ať je zobrazována dokumentace generovaná z meta-dat. Navrhněte možné způsoby řešení nekompletní informace o typech a deklaracích, které jsou v dynamických jazycích k dispozici typicky až za runtimu.
Nedílnou součástí práce bude implementace navržených mechanismů pro vybraný dynamický jazyk (PHP). |
Předběžná náplň práce v anglickém jazyce |
By analyzing the abstract syntax tree of the source code offer a list of possible completions for the word just being typed or a list of all words which should be placed at the specified place. Into this analysis include all constructs defined in or referenced by the application being edited. Every offered symbol name should have a short description generated using metadata-based reflection. Propose methods how to solve problems of incomplete information of types and of declarations in dynamic languages which are fully known during runtime.
The integral part of the work will be the implementation of proposed mechanisms for the chosen dynamic language (PHP). |