Пожалуйста, используйте этот идентификатор, чтобы цитировать или ссылаться на этот ресурс: http://hdl.handle.net/11701/42927
Полная запись метаданных
Поле DCЗначениеЯзык
dc.contributor.advisorЛукьянова Ольга Евгеньевнаru_RU
dc.contributor.advisorLukanova Olga Evgenevnaen_GB
dc.contributor.authorМирошников Владислав Игоревичru_RU
dc.contributor.authorMirosnikov Vladislav Igorevicen_GB
dc.contributor.editorБулычев Дмитрий Юрьевичru_RU
dc.contributor.editorBulycev Dmitrij Urevicen_GB
dc.date.accessioned2023-07-26T12:45:13Z-
dc.date.available2023-07-26T12:45:13Z-
dc.date.issued2023
dc.identifier.other080531en_GB
dc.identifier.urihttp://hdl.handle.net/11701/42927-
dc.description.abstractВ наши дни сложно представить разработку программного обеспечения без использования интегрированных сред разработки (IDE), предоставляющих большой спектр различной функциональности, например, технологии автодополнения, анализа кода и многое другое. При этом неотъемлемой частью в любой среде разработки является компонента кодовой модели, которая отвечает в том числе и за синтаксический анализ исходного кода языка, построение синтаксического и расширенного семантического дерева, а также различных индексов. Одной из ключевых и важных задач в данной подсистеме является задача вывода типов для выражений соответствующего языка, поскольку на его основе осуществляется разработка другой функциональности IDE, например, разрешения квалифицированных имен в коде или технологии автодополнения. При этом для IDE особенно важно выводить типы статически, так как анализ кода для пользователя должен происходить до запуска самой программы. В рамках данной работы предлагается реализация подсистемы статического вывода типов для языка Python, имеющего динамическую типизацию, а также ее внедрение в разрабатываемую Python IDE. Помимо этого, в данной работе предлагается алгоритм вывода типов с использованием теории унификации и его расширения в виде системы с роу-полиморфизмом, а также приводятся экспериментальные сравнения с существующими решениями, показывающие эффективность данного подхода.ru_RU
dc.description.abstractNowadays, it is hard to imagine software development process without using integrated development environments (IDEs) providing a wide range of different functionality, such as code completion technologies, code analysis, and much more. Moreover, an integral part of any development environment is a code model component, which is responsible for parsing the source code of a language, building a syntax and extended semantic tree, as well as various indices with semantic information. One of the key and important tasks in this subsystem is the type inference for expressions of the corresponding language. This is the basis for developing other IDE functionality, such as qualified name resolution in code or qualified code completion. It is especially significant for the IDE to infer types statically, since source code must be analyzed before launching the program. This paper proposes an implementation of a Static Type Inference Subsystem for the Python language, which has dynamic typing, and its integration in the Python IDE. In addition, this paper suggests an algorithm for type inference using unification theory and its extension in the form of a system with row-polymorphism, and provides experimental comparisons with existing solutions to show the effectiveness of this approach.en_GB
dc.language.isoru
dc.subjectPythonru_RU
dc.subjectстатический вывод типовru_RU
dc.subjectдинамическая типизацияru_RU
dc.subjectутиная типизацияru_RU
dc.subjectроу-полиморфизмru_RU
dc.subjectPythonen_GB
dc.subjectStatic Type Inferenceen_GB
dc.subjectDynamic Typingen_GB
dc.subjectDuck Typingen_GB
dc.subjectRow Polymorphismen_GB
dc.titleStatic type inference for Python in IDEen_GB
dc.title.alternativeСтатический вывод типов для языка Python в интегрированной среде разработкиru_RU
Располагается в коллекциях:BACHELOR STUDIES



Все ресурсы в архиве электронных ресурсов защищены авторским правом, все права сохранены.