Abstract
In the context of computer programming, the importance of computer assistance is being understood by many developer communities. Developers are e.g. using the same well known expressions or searching method signatures in library documentations. Code sense or IntelliSense methods make most of these actions unnecessary because they serve the available useful information directly to the programmer in a completely automated way. Recently, with the increased focus of the industry on dynamic languages a problem emerges - the complete knowledge on the source code is postponed until the runtime, since there may be ambiguous semantics in the code fragment.
As a part of the Phalanger project the methods for syntax and semantic analysis of the dynamic code were designed, especially targeted for the PHP programming language. These methods produce a list of valid possibilities which can be then used on a specified position in the source code; such as declarations, variables and function parameters. This collected information can be also used to a fine-grained syntax highlighting.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Phalanger compiler, http://php-compiler.net/
jcx software: VS.Php, http://www.jcxsoftware.com/vs.php
VisualStudio JScript IntelliSense, http://msdn.microsoft.com/en-us/library/bb385682.aspx
IntelliSense, http://en.wikipedia.org/wiki/IntelliSense
Predictive text, http://en.wikipedia.org/wiki/Predictive_text
Lindahl, T., Sagonas, K.: Practical Type Inference Based on Success Typings. In: Proceedings of PPDP. ACM, Venice (2006)
MacKenzie, S.: Keystrokes per Character as a Characteristic of Text Entry Techniques. In: Proceedings of MobileHCI 2002 (2002)
O’Riordan, et al.: Investigating Text Input Methods for Mobile Phones. J. Computer Sci I(2), 189–199 (2005)
Jones, J.: Abstract Syntax Tree Implementation Idioms. Pattern Languages of Programs, Illinois (2003)
Abonyi, A., Balas, D., Beno, M., Misek, J., Zavoral, F.: Phalanger Improvements, Technical Report, Department of Software Engineering, Charles University in Prague (2009)
Achour, M., Betz, F., Dovgal, A., Lopes, N., Magnusson, H., Richter, G., Seguy, D., Vrana, J.: PHP: Hypertext Preprocessor, http://www.php.net/
Microsoft: Visual Studio (2008), http://www.microsoft.com/visualstudio
Misek, J.: IntelliSense implementation of a dynamic language, Charles University in Prague (2009)
Meijer, E., Drayton, P.: Microsoft Corporation: Static Typing Where Possible, Dynamic Typing When Needed: The End of the Cold War Between Programming Languages
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Míšek, J., Zavoral, F. (2009). Syntactic and Semantic Prediction in Dynamic Languages. In: Lee, R., Ishii, N. (eds) Software Engineering Research, Management and Applications 2009. Studies in Computational Intelligence, vol 253. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05441-9_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-05441-9_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-05440-2
Online ISBN: 978-3-642-05441-9
eBook Packages: EngineeringEngineering (R0)