Smart syntax highlighting for dynamically typed languages : Case: Common Lisp in Emacs
Novikov, Mikhail (2010)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2010102213917
https://urn.fi/URN:NBN:fi:amk-2010102213917
Tiivistelmä
Today, Java, C++ and C# being the most popular programming languages, the majority of integrated development environments are tailored for them, and, in general, for statically-typed languages. However, dynamically-typed languages are gaining more and more popularity; thus, integrated development environments must evolve to support them. The purpose of this thesis was to improve the situation by creating an advanced syntax highlighting system for dynamically-typed languages.
This study developed a general framework for implementing an advanced syntax highlighting system for integrated development environments. A proof-of-concept implementation was developed in Common Lisp language using Emacs.
The developed framework makes it possible to create syntax highlighting system that provides sophisticated scope detection and symbol extraction systems allowing an integrated development environment for dynamically-typed languages to possess the same language analysis features as the ones designed for statically-typed languages.
The study concludes that there are still many unexplored, potential improvements that could be made for integrated development environments in order to increase a programmer’s productivity.
This study developed a general framework for implementing an advanced syntax highlighting system for integrated development environments. A proof-of-concept implementation was developed in Common Lisp language using Emacs.
The developed framework makes it possible to create syntax highlighting system that provides sophisticated scope detection and symbol extraction systems allowing an integrated development environment for dynamically-typed languages to possess the same language analysis features as the ones designed for statically-typed languages.
The study concludes that there are still many unexplored, potential improvements that could be made for integrated development environments in order to increase a programmer’s productivity.