Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Prof. Yandre Maldonado e Gomes da Costa
Gramática Prof. Yandre Maldonado e Gomes da Costa Gramática - Prof. Yandre - 1
2
Gramática Gramática é um mecanismo que nos permite definir formalmente uma linguagem; Através dela pode-se gerar todas as sentenças da linguagem definida por ela; Gramática - Prof. Yandre - 2
3
Gramática Gramática é uma quádrupla ordenada G = (V, T, P, S), onde:
V é um conjunto finito de símbolos não-terminais (ou variáveis); T é um conjunto finito de símbolos terminais disjunto de V; P é um conjunto finito de pares, denominados regras de produção tal que a primeira componente é palavra de (VT)+ e a segunda componente é palavra de (VT)*; S é um elemento de V, denominado símbolo inicial (ou símbolo de partida). Gramática - Prof. Yandre - 3
4
Gramática Os símbolos de T são aqueles que aparecem nos programas de uma linguagem de programação. É o alfabeto em cima do qual a linguagem é definida; Os elementos de V são símbolos auxiliares que são criados para permitir a definição das regras da linguagem. Eles correspondem à “categorias sintáticas” da linguagem definida: Português: sentença, predicado, verbo, ...; Pascal: programa, bloco, procedure, ...; Gramática - Prof. Yandre - 4
5
Gramática Uma regra de produção (, ) é representada por ;
As regras de produção definem as condições de geração das sentenças; A aplicação de uma regra de produção é denominada derivação; Uma regra indica que pode ser substituído por sempre que aparecer; Enquanto houver símbolo não-terminal na cadeia em derivação, esta derivação não terá terminado; Gramática - Prof. Yandre - 5
6
Gramática O símbolo inicial é o símbolo através do qual deve iniciar o processo de derivação de uma sentença; Observações: VT = Os elementos de T são os terminais. Procuraremos representá-los por letras minúsculas (a, b, c, d, ...) Os elementos de V são os não-terminais. Procuraremos representá-los por letras maiúsculas (A, B, C, D, ...) As cadeias mistas, isto é, aquelas que contém símbolos de V e símbolos de T (cadeias pertencentes à (VT)* ) serão representadas por letras gregas (, , , , ...) Gramática - Prof. Yandre - 6
7
Gramática Exemplo: G1 = ({S, A, B}, {a, b}, P, S) onde:
P = { 1) S AB 2) A a 3) B b } Quais as cadeias terminais geradas por esta gramática? Gramática - Prof. Yandre - 7
8
Gramáticas G2 V = {Sentença, Sn, Sv, Artigo, Verbo, Substantivo, Complemento} T = {peixe, isca, mordeu, o, a} P = { 1) Sentença Sn Sv 2) Sn Artigo Substantivo 3) Sv Verbo Complemento 4) Complemento Artigo Substantivo 5) Artigo o 6) Artigo a 7) Substantivo peixe 8) Substantivo isca 9) Verbo mordeu } S = Sentença Gramática - Prof. Yandre - 8
9
G3 - Eliminando os problemas de concordância de gênero
V = {Sentença, Sn, Sv, ArtigoF, ArtigoM, Verbo, SubstantivoF, SubstantivoM, Complemento} T = {peixe, isca, mordeu, o, a} P = { 1) Sentença Sn Sv 2) Sn ArtigoF SubstantivoF 3) Sn ArtigoM SubstantivoM 4) Sv Verbo Complemento 5) Complemento ArtigoF SubstantivoF 6) Complemento ArtigoM SubstantivoM 7) ArtigoF a 8) ArtigoM o 9) SubstantivoF isca 10) SubstantivoM peixe 11) Verbo mordeu } S = Sentença Gramática - Prof. Yandre - 9
10
Gramáticas BNF - Forma Normal de Backus
Substitui o símbolo “” por “::=”; Os não-terminais são ladeados por “<” e “>”; É usada para regras que apresentam um único símbolo não-terminal do lado esquerdo; Quando houverem repetições do lado esquerdo, do tipo: <A> ::= 1 <A> ::= 2 ... <A> ::= n escreve-se: <A> ::= 1 | 2 | ... | n * Os símbolos <, >, :, = e | não fazem parte da linguagem, apenas ajudam a descrevê-la. Gramática - Prof. Yandre - 10
11
G3 - Descrição em BNF 1) <Sentença> ::= <Sn> <Sv>
2) <Sn> ::= <ArtigoF> <SubstantivoF> | <ArtigoM> <SubstantivoM> 4) <Sv> ::= <Verbo> <Complemento> 5) <Complemento> ::= <ArtigoF> <SubstantivoF> | <ArtigoM> <SubstantivoM> 7) <ArtigoF> ::= a 8) <ArtigoM> ::= o 9) <SubstantivoF> ::= isca 10) <SubstantivoM> ::= peixe 11) <Verbo> ::= mordeu } S = <Sentença> Gramática - Prof. Yandre - 11
12
Árvore de Derivação Sintática
<sentença> <sv> <sn> <artigo> <substantivo> <verbo> <complemento> o peixe mordeu a isca Gramática - Prof. Yandre - 12
13
Gramáticas Geração direta (): Considere , , , (V T)*
Uma cadeia gera diretamente () uma cadeia sse: P Gramática - Prof. Yandre - 13
14
Gramáticas Geração (*): Considere , , , (V T)*
Uma cadeia gera (*) uma cadeia sse: 1, 2, ..., n tal que 1 2 ... n n0 Gramática - Prof. Yandre - 14
15
Gramáticas Assim, em G1 temos: S * ab S * aB AB * ab
E em G3, temos: <sentença> * o peixe mordeu a <subst.> <complemento> * o <substantivo> Gramática - Prof. Yandre - 15
16
Gramáticas Definições:
Forma sentencial: uma cadeia (VT)* é uma forma sentencial de uma gramática sse S , ou seja, é um embrião para alguma sentença gerada pela gramática, ou a própria sentença. Sentença: uma forma sentencial , é uma sentença de G sse T*. Portanto, as cadeias geradas pela gramática são as sentenças de G. * Gramática - Prof. Yandre - 16
17
G1 = ({A, B}, {a, b, c}, P, A) onde:
Gramáticas Exemplo: dada a gramática G1 = ({A, B}, {a, b, c}, P, A) onde: P = { 1) A aB 2)B bB 3)B c } Indique se as seguintes cadeias são sentenças ou formas sentenciais produzidas por G1: abc A a abB abbbB abbbc Sentença Forma Sentencial Gramática - Prof. Yandre - 17
18
Gramáticas Descrição de linguagens: 2)B bB
A linguagem gerada pela gramática G1 descrita acima, poderia ser expressa da seguinte forma: L(G1)={abnc, n 0} A linguagem gerada pela gramática G2 descrita acima, poderia ser expressa da seguinte forma: L(G2)={biacj, i1, j 1} G2 = ({S, A, B, C}, {a, b, c}, P, S) onde: P = { 1) S A 2) A BaC 3) B bB 4) B b 5) C cC 6) C c } G1 = ({A, B}, {a, b, c}, P, A) onde: P = { 1) A aB 2)B bB 3)B c } Gramática - Prof. Yandre - 18
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.