TECHNOLOGY AS A LEARNING TOOL IN THE SUBJECT OF LANGUAGE PROCESSORS
Universitat de Lleida (SPAIN)
About this paper:
Conference name: 18th International Technology, Education and Development Conference
Dates: 4-6 March, 2024
Location: Valencia, Spain
Abstract:
In this work, we present an educational proposal aimed at developing an integrated software environment that allows us to design, implement and validate the stages of a formal language translator, with the Python programming language. The resulting environment will be aimed at fourth year students who take the subject of language processors, in the specialty in computing the Degree in Computer Engineering of the University of Lleida.
The manual implementation of lexical, syntactic and semantic analysis routines for a programming language is always a complex task and requires the use of programming tools that support it. The tools set as standards for the implementation of formal automatic translation systems are Lex and YACC, both implemented in the classic C language. The C programming language is a fast and productive language, and, in short, is very suitable for implementing low-level applications, such as language translators. Automatic learning and neural networks, techniques used in artificial intelligence (AI), are used in multiple sectors of the economy for decision-making data analysis. In this context, the Python programming language is one of the most suitable for AI systems, as it has many libraries that can help with the programming of this intelligence. Learning to program Phyton is a key factor that allows students to access high-value-added jobs. In this context, we believe that it is necessary to provide students with an integrated environment that allows them to implement Python translation systems, as well as in C.
The innovation of our proposal is that students are actively involved in the implementation and documentation of an integrated environment for the implementation of translators in Phyton, based on the PLY module (Python Lex-Yacc). The methodology we propose is based on 4 stages. The first includes the study and documentation of the PLY module. The second task is to design, implement, and document a module for implementing the internal symbol table in translation processes. Integrating the PLY module with the symbol table is the third thing to do. Finally, to design and implement a collection of useful cases.
The indicators and evidence of how well the objectives have been fulfilled will be given. The availability of an integrated environment for the implementation of translators in Python. A specialized module for the management of the symbol table. A documentation of the environment for the definition of the phases of lexical, syntactic and semantic analysis with the management of the symbols table in a translation process. An implementation of a collection of cases of use.
The integrated software environment will allow students to implement Python translation systems safely and well documented. This will directly have an impact on students' motivation and learning results, since students will not only be able to implement translation systems in C and Phyton, but that they will also have actively participated in the design and implementation process of the programming framework.Keywords:
Educational proposal, integrated software environment, formal language translator.