IntelliSense Implementation of a Dynamic Language
Thesis title in Czech: | Implementace IntelliSense pro dynamický jazyk |
---|---|
Thesis title in English: | IntelliSense Implementation of a Dynamic Language |
Academic year of topic announcement: | 2008/2009 |
Thesis type: | diploma thesis |
Thesis language: | angličtina |
Department: | Department of Software Engineering (32-KSI) |
Supervisor: | RNDr. Filip Zavoral, Ph.D. |
Author: | hidden - assigned and confirmed by the Study Dept. |
Date of registration: | 19.11.2008 |
Date of assignment: | 19.11.2008 |
Date and time of defence: | 07.09.2009 00:00 |
Date of electronic submission: | 07.09.2009 |
Date of proceeded defence: | 07.09.2009 |
Opponents: | doc. RNDr. Pavel Parízek, Ph.D. |
Guidelines |
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). |
References |
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/ |
Preliminary scope of work |
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). |
Preliminary scope of work in English |
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). |