Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 308)
Detail práce
  
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
Klíčová slova: IntelliSense, PHP, dynamické jazyky, Phalanger, Analýza kódu, Abstraktní Syntaktický strom
Klíčová slova anglicky: IntelliSense, PHP, dynamic language, Phalanger, Code Analysis, Abstract Syntax Tree
Akademický rok vypsání: 2017/2018
Typ práce: rigorózní 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ý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 19.10.2017
Datum zadání: 19.10.2017
Datum potvrzení stud. oddělením: 19.10.2017
Datum a čas obhajoby: 06.12.2017 00:00
Datum odevzdání elektronické podoby:19.10.2017
Datum odevzdání tištěné podoby:19.10.2017
Datum proběhlé obhajoby: 06.12.2017
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).
 
Univerzita Karlova | Informační systém UK