Compiladors [102782]
Sánchez Pujadas, Javier Sánchez
Bernal del Nozal, Jorge
Universitat Autònoma de Barcelona. Escola d'Enginyeria

Títol variant: Compilers
Títol variant: Compiladores
Data: 2022-23
Resum: Coneixements: Introduir els conceptes i estructures fonamentals d'un compilador de llenguatges imperatius. Millorar l'ús i comprensió dels compiladors (eficiència, límits del llenguatge, etc. ), i dels llenguatges de programació. Implementació pràctica de parsers simples. Reconeixedors de fitxers de configuració amb paràmetres complexos. Flexibilització de diàlegs amb l'usuari. Resoldre problemes utilitzant tècniques sintàctiques i semàntiques. Definició i implementació de gramàtiques per resoldre problemes. Decisió entre implementar un compilador sencer o utilitzar una eina per generar compiladors en 1 Decisió entre implementar un compilador sencer o utilitzar una eina per generar compiladors en funció del tipus de problema a resoldre. Implementar algorismes complexos. Estratègies de test de programes complexos. Implementació d'algorismes recursius. Ús d'eines que generen codi. Modularització en subproblemes fortament acoblats. Adaptació i utilització d'un programa ja fet. Habilitats: Millorar la qualitat dels programes creats gràcies al major coneixement del funcionament dels compiladors. Utilització correcta de les estructures dels llenguatges de programació per obtenir programes més òptims. Resolució de problemes d'una forta complexitat aplicant els principis de modularitat i recursivitat. Utilització d'eines de programació automàtica.
Resum: Knowledges: Introduce the fundamental concepts and structures of a compiler of imperative languages. Improve the use and understanding of compilers (efficiency, language limits, etc. ), and programming languages. Practical implementation of simple parsers. Recognizers of configuration files with complex parameters. Flexibilization of dialogues with the user. Solve problems using syntactic and semantic techniques. Definition and implementation of grammars to solve problems. Decision between implementing an entire compiler or using a tool to generate compilers based 1 Decision between implementing an entire compiler or using a tool to generate compilers based on the type of problem to be solved. Implement complex algorithms. Test strategies of complex programs. Implementation of recursive algorithms. Use of tools that generate code. Modularization in subproblems strongly coupled. Adaptation and use of a program already made. Abilities: Improve the quality of the programs created thanks to the greater knowledge of the operation of the compilers. Correct use of the structures of the programming languages to obtain more optimal programs. Resolving complexity problems by applying the principles of modularity and recursion. Use of automatic programming tools.
Resum: Conocimientos: Introducir los conceptos y estructuras fundamentales de un compilador de lenguajes imperativos. Mejorar el uso y comprensión de los compiladores (eficiencia, límites del lenguaje, etc. ), y los lenguajes de programación. Implementación práctica de parsers simples. Reconocedores de ficheros de configuración con parámetros complejos. Flexibilización de diálogos con el usuario. Resolver problemas utilizando técnicas sintácticas y semánticas. Definición e implementación de gramáticas para resolver problemas. Decisión entre implementar un compilador entero o utilizar una herramienta para generar 1 Decisión entre implementar un compilador entero o utilizar una herramienta para generar compiladores en función del tipo de problema a resolver. Implementar algoritmos complejos. Estrategias de test de programas complejos. Implementación de algoritmos recursivos. Uso de herramientas que generan código. Modularización en subproblemas fuertemente acoplados. Adaptación y utilización de un programa ya hecho. Habilidades: Mejorar la calidad de los programas creados gracias al mayor conocimiento del funcionamiento de los compiladores. Utilización correcta de las estructuras de los lenguajes de programación para obtener programas más óptimos. Resolución de problemas de una fuerte complejidad aplicando los principios de modularidad y recursividad. Utilización de herramientas de programación automática.
Drets: Aquest document està subjecte a una llicència d'ús Creative Commons. Es permet la reproducció total o parcial, la distribució, la comunicació pública de l'obra i la creació d'obres derivades, fins i tot amb finalitats comercials, sempre i quan es reconegui l'autoria de l'obra original. Creative Commons
Llengua: Català, anglès, castellà
Titulació: Grau en Enginyeria Informàtica [2502441]
Pla d'estudis: Grau en Enginyeria Informàtica (Menció en Enginyeria de Computadors) i Grau en Enginyeria Electrònica de Telecomunicació [1206] ; Grau en Enginyeria Informàtica (Menció en Tecnologies de la Informació) i Grau en Enginyeria de Sistemes de Telecomunicació [1207] ; Enginyeria Informàtica [958]
Document: Objecte d'aprenentatge



Català
8 p, 117.1 KB

Anglès
7 p, 115.2 KB

Castellà
8 p, 117.0 KB

El registre apareix a les col·leccions:
Materials acadèmics > Guies docents

 Registre creat el 2022-07-01, darrera modificació el 2023-07-22



   Favorit i Compartir