26
II - INTRODUÇÃO II - INTRODUÇÃO Introdução Definição Conceitos Básicos de Linguagem

Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

Embed Size (px)

Citation preview

Page 1: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Introdução• Definição• Conceitos Básicos de Linguagem

Page 2: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Introdução

•Desenvolvida originalmente em 1950• Objetivo: Desenvolver teorias relacionadas

com a Linguagem natural

• Logo verificou-se a importância para o estudode linguagens artificiais e em especial paralinguagens originárias na Ciência daComputação

• Nestas condições as Linguagens formais sedesenvolveram significativamente e comdiversos enfoques:

Page 3: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Introdução

• Exemplos: Análise léxica e sintática delinguagens de programação, modelos desistemas biológicos, desenho de hardware erelacionamento com linguagens naturais.

• Sintaxe x SemânticaUma linguagem de programação pode ser

vista de duas formas: como entidade livre(sem significado associado) ou comoentidade com significado associado.

Page 4: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Introdução

• Sintaxe: Trata das propriedades livres dalinguagem (verificação gramatical deprogramas). Manipula símbolos semconsideração dos seus correspondentessignificados.

• Semântica: Tem o objetivo de dar umainterpretação para a linguagem (significadoou valor para um determinado programa)

Page 5: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Introdução

Abordagem

Nesta disciplina dedica-se em realizar otratamento sintático de linguagens linearesabstratas com fácil associação às linguagenstípicas da Ciência da computação.

Abordagem Definição Formalismo Obs:

Operacional Autômato Reconhecedor Máquina abstrata baseada em estados.

Axiomático Gramática Gerador Associa regras à componentesda linguagem

Denotacional Expressões Regulares

Gerador Define-se uma função que caracteriza o conjunto de palavras adimissiveis na linguagem

Page 6: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Definição

Unidade de Controle

a a a a b b b bFita de entradaPalavra ou string

q1 q2 q3 q4

Função Transição

Linguagem

alfabeto

L

D

aa

Linguagens Formais: É o conjunto de palavrassobre um alfabeto.

Autômato: É uma máquina de estado compostade três partes.

Page 7: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Segundo o dicionário Aurélio, linguagem é“o uso da palavra escrita ou articuladacomo meio de expressão e comunicaçãoentre pessoas”.

Definição não suficientemente precisapara permitir o desenvolvimentomatemático de uma teoria sobrelinguagens.

Page 8: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Símbolo (ou caractere): É uma entidade abstratanão definida formalmente. Ex: letras, números,caracteres especiais.

Alfabeto : Conjunto finito de símbolos. Ex:={a,b,c}.

Palavra (String), Cadeia de Caracteres ouSentença: É uma sequência finita de símbolos(do alfabeto) justapostos. Ex: aa, ab, 001101,/*+++-.

Page 9: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Convenção baseado entre os símbolos e palavras:

Símbolos: a, b,...r,s,t, + (caracteres especiais)

Palavras: u, v, w, x, y, z. Portanto w=aaabc (é umapalavra).

ou l: representa a palavra vazia (sem símbolo ede comprimento nulo)

S*: é o conjunto de todas as palavras possíveissobre um alfabeto S.

S+=S* - {} :

Page 10: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Comprimento: O comprimento de uma palavra w,representado por |w| consiste na quantidade decaracteres que possui a palavra. Ex: w= aabca,|w|=5.

Subpalavra: Qualquer sequência contígua desímbolos de uma palavra.

Prefixo: Qualquer sequência contígua de símbolosde uma palavra a partir do símbolo inicial.

Sufixo: Qualquer sequência contígua de símbolosde uma palavra finalizando com o símbolo final

Page 11: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Exemplo:Dada a palavra: abcb, do alfabeto {a,b,c}.

Determine os prefixos sufixo e subpalavras.

Prefixos: ,a,ab,abc,abcb

Sufixos: ,b,cb,bcb,abcb

Subpalavras: , a, ab, abc, abcb, b, cb, bcb, bc, c.|abcb|=4 e ||=0

Linguagem Formal: É o conjunto de palavras sobreo alfabeto.

Page 12: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Dado o alfabeto: S={a,b}

a) O conjunto vazio e o conjunto formado com apalavra vazia são linguagens sobre S.

L1={}L2={}

b) O conjunto de palíndromos (palavras que têm amesma leitura da esquerda para direita e vice-versa) sobre o alfabeto S, é um exemplo delinguagem infinita. Assim: , a, b, aa, bb, aba, ...são palavras desta linguagem.

L1L2

Page 13: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Operações em Linguagens

Concatenação: É a operação binária, definidasobre a linguagem, a qual associa cada par depalavras a uma palavra formada pelajustaposição da primeira com a segunda.

Exemplo: v=ab, w=bcvw=abbc, wv=bcab

Propriedades:a) associativa: v(wx)=(vw)xb) Elemento neutro: w=w É o elemento neutro

da concatenação

Page 14: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Observação: uma concatenação definida sobreuma linguagem L não é, necessariamente,fechada sobre L.

Exemplo: dado: S={a,b,c}

Seja L uma linguagem cujas palavras possuem doiscaracteres: L={aa, ab, bc, bb, ac, cc, ....}

A concatenação de quaisquer duas palavras destalinguagem formará palavras de quatrocaracteres, o que não faz parte da linguagem.

Concatenando aa com bc teremos: aabc

Page 15: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Concatenação sucessiva: É a concatenação deuma palavra com ele mesma.

Exemplos:a) ww0=wn=wn-1w, para n>0

b) w=wn=, para n>0wn é indefinida para n=0

Page 16: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Exemplo: dadas as palavras: u=abc e v=cbauu=u2=abcabc=(abc)2

uvvu=uv2u=abccbacbaabc=abc(cba)2abc=abc2bacba2bc

Page 17: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

Por enquanto!!!!

Page 18: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Gramática: É uma quádrupla

G=(V, T, P, S)V: conjunto finito de variáveis (não-terminais);

P: conjunto finito das regras de produção.Regras de produção são pares decomponentes tal que a primeira componenteé palavra de (VUT)+ e a segunda componenteé palavra de (VUT)*;

𝑉 ∩ 𝑇 = ∅;T: conjunto finito de não variáveis (terminais)

S: Elemento de V denominado variável inicial.

Page 19: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

G=(V, T, P, S)

Regra de produção: Define a condição degeração das palavras da linguagem.

Sejam (a, b) palavras, uma regra de produção érepresentada:

𝛼 → 𝛽Uma sequência de produção a partir da mesma

palavra pode ser representada:

𝛼 → 𝛽1, 𝛼 → 𝛽2, 𝛼 → 𝛽3 ≡𝛼 → 𝛽1|𝛽2|𝛽3

Page 20: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

G=(V, T, P, S)

A aplicação das regras de produção édenominada derivação.

A aplicação sucessiva das regras de produçãopermite derivar as palavras da linguagemrepresentada pela gramática.

Derivação: seja G=(V, T, P, S) uma gramática,uma derivação um par da relação denotadapor:(VUT)+[domínio] ⟹(VUT)*[contradomínio ] .

Page 21: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

G=(V, T, P, S)

𝛽 → 𝛽𝑢𝛽𝑡𝛽𝑤

A relação ⟹ é indutivamente definida comosegue:

• Para toda produção da forma S→ 𝛽 (aprimeira componente é o símbolo inicial deG) tem-se que:

• Para todo o par 𝛼 ⟹ 𝛽, onde b=bubvbw, sebv →bt é regra de P então:

𝑆 ⟹ 𝛽

Portanto, derivação é a substituição de umasubpalavra de acordo om as regras de produção.

Page 22: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

G=(V, T, P, S)

𝑝 ∈ P

Para explicitar uma regra de produção utiliza-sea seguinte notação:

𝛼 ⟹𝑝 𝛽

Os passos sucessivos de derivação sãodefinidos da seguinte forma:

⟹∗ - Fecho transitivo reflexivo (zero ou mais passos de derivações

sucessivos).

⟹+ - Fecho transitivo da relação (um ou mais passos de derivações

sucessivos).

⟹𝑖 - exatos i passos de derivações sucessivos (i ∈ ℕ).

Page 23: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

G=(V, T, P, S)

Linguagem Gerada - L(G): A linguagem geradapela gramática G, denotada L(G) é compostapor todas as palavras de símbolos terminaisderiváveis a partir do símbolo inicial S:

𝐿 𝐺 = 𝑤 ∈ 𝑇∗/𝑆 ⇒+ 𝑤

Exemplo:

V={S,D}

T={0,1,2,...,7,8,9}

P={S→D, S → DS,D →1|2|3|4|5|6|7|8|9}

G=(V, T, P, S)

Page 24: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

G=(V, T, P, S)Exemplo:

V={S,D} T={0,1,2,...,7,8,9}

P={S→D, S → DS,D →1|2|3|4|5|6|7|8|9}

Para se obter o número 532 faz-se a sequênciade derivação:

𝑆 ⇒ 𝐷𝑆 ⇒ 𝐷𝐷𝑆 ⇒ 𝐷𝐷𝐷 ⇒ 5𝐷𝐷 ⇒ 53𝐷 ⇒ 532

Utilizando as propriedades temos:

𝑆 ⇒∗ 532

𝑆 ⇒+ 532

𝑆 ⇒6 532

- Fecho transitivo reflexivo

- Fecho transitivo da relação

- Exatos 6 passos de derivações sucessivos.

Page 25: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO

• Conceitos Básicos de Linguagem

Gramáticas Equivalentes: Duas gramáticas G1 eG2 são ditas equivalentes se, e somente se,GERA(G1)=GERA(G2).

Convenções:

• A,B,C....S,T, - símbolos para variáveis;

• a,b,c,d...,s,t – símbolos para terminais;

• u,v,w,x,y,z – palavra de símbolos terminais.

• a,b,... – palavras para símbolos variáveis eterminais

Page 26: Introdução Definição Conceitos Básicos de Linguagemlapolli.pro.br/escolas/unicid/LFA/teoria/II.IntroducaLFA.pdf · “ouso da palavra escrita ou articulada como meio de expressão

II - INTRODUÇÃO

II - INTRODUÇÃO