Neste trabalho é descrita a organização de SINSEM, um sistema de processamento automático de especificação SINtático-SEMânticas de linguagens de programação. É colocada a motivação para um tal sistema, em relação ao uso que se daria a ele. O sistema é situado entre sistemas similares, dos quais alguns são brevemente descritos, incluindo-se exemplos de uso. Procura-se estabelecer conceitos relativos as trabalho com sistemas de auxilio ao projeto e à implementação de linguagens de programação. É discutida a estrutura lógica do sistema e uma filosofia de utilização, bem como é apresentada a nova metalinguagem proposta construído a partir da notação BNF, com extensões para se exprimir a semântica de uma linguagem de um modo construtivo, permitindo a especificação de gramáticas livres do contexto sem recursões a esquerda, visando a produção de reconhecedores recursivos descendentes dotados de ações semânticas. São apresentadas a sintaxe concreta e estática da metalinguagem, explicando-se também as funções semânticas (do tipo estático e do tipo concreto) pré-definidas no ambiente de desenvolvimento onde a ferramenta se integra. Tal ambiente pode ser operado por um conjunto de comandos que constituem uma interface (o "envelope"), que inclui também uma biblioteca sintático-semântica (que pode ser atualizada pelo usuário). A interface é descrita por meio de DFD'S E DE UM DICIONÁRIO DE DADOS. Ao final é apresentado um exemplo, parcialmente comentado (capítulo 5), de definição completa de uma linguagem de programação (CSSD), usando-se a metalinguagem proposta e os itens pré-definidos da biblioteca sintático-semântica. / In this work it is specified the constitution of SINSEM, an automatic processing system for SYNtactic and SEMantic specifications of programming languages. it is discussed motivation for such a system, according to uses it could have. The system is situated among similar systems, and some of these are briefly described, including examples. It is attempted to establish concepts about working with ,design and implementation aiding systems for programming languages. It is discussed the logical structure of the system and a philosophy of use, as well is presented a new metalanguage proposal for syntactic and semantic descriptions that is a production system constructed from BNF notation, with extensions to give language semantics in a constructive way, allowing specification of free context grammars with no left recursions, aiming the generation of preliminary versions of recursive descent parsers with semantic actions. The abstract and concrete syntax of the metalanguage are presented, and are also explained the semantic functions (of static and concrete type) predefined with and within the development environment where this frame is inserted. That environment can be operated by a set of commands that constitutes an interface ( the " envelope") wich includes too a syntactic-semantic library ( this can be made up to date by the user own). The interface is described by means of a set of DFD's and a data dictionary. At the end. it is presented an example, partially commented (chapter 5), of a complete definition of a programming language ( CSSD ), using the proposed metalanguage and the predefined items of the syntactic-semantic iibrary.
Identifer | oai:union.ndltd.org:IBICT/oai:www.lume.ufrgs.br:10183/26697 |
Date | January 1987 |
Creators | Rodrigues, Celso Luiz Lopes |
Contributors | Azeredo, Paulo Alberto de |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações da UFRGS, instname:Universidade Federal do Rio Grande do Sul, instacron:UFRGS |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.001 seconds