Pesquisa sobre yacc/bison
Justificativa: vimos no trabalho anterior o uso do programa FLEX/LEX que faz a análise léxica de um programa fonte, nesta atividade pesquisaremos o BISON/YACC e também EXPRESSÕES REGULARES.
Objetivos: 1) Pesquise o uso do Programa BISON/YACC destacando: - qual a finalidade; - uso (sintaxe); - fluxo de trabalho: Qual a entrada e a saída gerada; - exemplos de códigos. 2) Expressões regulares; - O que são, símbolos, regras; - como são interpretados; - exemplos. Por exemplo: validar um cep, e-mail, campo numérico, campo alfabético, campo CPF, etc...
CEP: [0-9]{2}\.[0-9]{3}-[0-9]{3}\$
1 Yacc / Bison
1.1 Finalidade
O YACC/BISON serve para gerar automaticamente programas para análise sintática (usualmente em “C”) de códigos fonte de uma linguagem específica qualquer. Estas ferramentas possuem como entrada uma descrição de uma gramática, que especifica uma determinada linguagem, e gera como saída um programa em C ou C++ que será o parser desta linguagem. Uma vez compilado este parser, gerado automaticamente pelo YACC/BISON, ele terá como entrada arquivos com códigos fonte da linguagem especificada pela gramática, executando assim a “validação” códigos fonte através da execução deste parser. O parser gerado pelo YACC/BISON permite realizar apenas a validação do código fonte, indicando se está correto sintaticamente ou não, mas também permite implementar de modo bastante simples e direto ferramentas como interpretadores (executando diretamente ações a medida que vai reconhecendo comandos corretos na linguagem especificada) ou tradutores (realizando uma tradução dirigida pela sintaxe) e pode também servir de base para a criação de compiladores mais completos e sofisticados. Note que os tokens gerados pelos programas criados pelo LEX/FLEX são usualmente fornecidos como entrada para o processo seguinte de análise sintática realizado pelo programa criado pelo