Você está na página 1de 6

AUTORIZAO: DECRETO N92937/86, DOU 18.07.86 RECONHECIMENTO: PORTARIA N909/95, DOU 01.08.

95

UNIVERSIDADE DO ESTADO DA BAHIA UNEB

CURSO DE ANLISE DE SISTEMAS


DISCIPLINA : COMPILADORES PROF: ANDR MAGALHES

Noes de Linguagem
________________________________________________________________________________________

1 INTRODUO E CONCEITOS BSICOS 1.1 Conceitos Bsicos


Linguagem um conceito fundamental no estudo da Teoria da Computao, pois trata-se de uma forma precisa de expressar problemas, permitindo um desenvolvimento formal adequado ao estudo da computabilidade. O dicionrio Aurlio define linguagem como: "o uso da palavra articulada ou escrita como meio de expresso e comunicao entre pessoas". Esta definio no suficientemente precisa para permitir o desenvolvimento matemtico de uma teoria sobre linguagens. As definies que seguem so construdas usando como base a noo de Smbolo ou Caractere, que uma entidade abstrata bsica, no sendo definida formalmente. Letras e dgitos so exemplos de smbolos freqentemente usados. Definio 1.1 Alfabeto. Um Alfabeto um conjunto finito de smbolos ou caracteres. um conjunto infinito no um alfabeto: o conjunto vazio um alfabeto. Exemplo 1.1 Os seguintes conjuntos so exemplos de alfabetos: {a, b, c}; conjunto vazio. Os seguintes conjuntos no so exemplos de alfabetos:
____________________________________________________________ Compiladores 2

Noes de Linguagem
________________________________________________________________________________________

conjunto dos nmeros naturais; {a, b, aa, ab, ba, bb, aaa,...}. Definio 1.2 Cadeia de Smbolos, Palavra. Uma Cadeia de Smbolos sobre um conjunto uma seqncia de zero ou mais smbolos (do conjunto) justapostos. Uma Cadeia de Smbolos Finita usualmente denominada de Palavra. denota a cadeia vazia ou palavra vazia. Se representa um conjunto de smbolos (um alfabeto), * => o conjunto de todas as palavras possveis sobre ; + denota * - { }. Definio 1.3 Comprimento ou Tamanho de uma Palavra. O Comprimento ou Tamanho de uma palavra w, representado por w, o nmero de smbolos que compem a palavra. Definio 1.4 Prefixo, Sufixo, Subpalavra. Um Prefixo (respectivamente, Sufixo) de uma palavra qualquer seqncia inicial (respectivamente, final) de smbolos da palavra. Uma Subpalavra de uma palavra qualquer seqncia de smbolos contga da palavra. Exemplo 1.2 Palavra, Prefixo, Sufixo, Tamanho.
a) b) abcb uma palavra sobre o alfabeto {a, b, c}; Se = {a, b}, ento: + = {a, b, aa, ab, ba, bb, aaa,...} * = { , a, b, aa, ab, ba, bb, aaa,...} abcb = 4 e = 0; Relativamente palavra abcb, tem-se que:

c) d)

____________________________________________________________ Compiladores 3

Noes de Linguagem
________________________________________________________________________________________

, a, ab, abc, abcb so os prefixos; , b, cb, bcb, abcb so os respectivos sufixos.


e) Qualquer prefixo ou sufixo de uma palavra uma sub-palavra.

Definio 1.5 Linguagem Formal Uma Linguagem Formal ou simplesmente Linguagem um conjunto de palavras sobre um alfabeto. Exemplo 1.3 Linguagem Formal. Suponha o alfabeto = {a, b}. Ento: a) O conjunto vazio e o conjunto formado pela palavra vazia so linguagens sobre . Obviamente, { } { }. b) O conjunto de palndromos (palavras que tm a mesma leitura da esquerda para a direita e vice-versa) sobre um exemplo de linguagem infinita. , a, b, aa, bb, aaa, aba, bab, bbb, aaaa,... Definio 1.6 Concatenao de Palavras. A Concatenao de Palavras uma operao binria, definida sobre uma linguagem L, a qual associa a cada par de palavras uma palavra formada pela justaposio da primeira com a segunda tal que: no necessariamente fechada em L; a concatenao de duas palavras de uma linguagem no necessariamente resulta em uma palavra da linguagem. associativa; v(wt) = (vw)t = vwt possui elemento neutro esquerda e direita, o qual a palavra vazia. w = w = w Exemplo 1.4 Concatenao de Palavras. Suponha o alfabeto = {a, b}.
____________________________________________________________ Compiladores 4

Noes de Linguagem
________________________________________________________________________________________

Ento, para as palavras v = baaaa e w = bb, tem-se que: vw = baaaabb v = v = baaaa Definio 1.7 Concatenao Sucessiva de uma Palavra. A Concatenao Sucessiva de uma Palavra (com ela mesma) ou simplesmente Concatenao Sucessiva, representada na forma de um expoente (suponha w uma palavra): wn onde n o nmero de concatenaes sucessivas,

definida indutivamente a partir da operao de concatenao binria, como segue: w0 = ; wn = wn-1w, para n > 0. Exemplo 1.5 Concatenao Sucessiva. Sejam w uma palavra e a um smbolo. Ento: w3 = www w1 = w a5 = aaaaa an = aaa...a (o smbolo a repetido n vezes)

____________________________________________________________ Compiladores 5

Noes de Linguagem
________________________________________________________________________________________

Exerccios
Exerccio 1. 1
a) b) c) d) e) f) g) h) i)
Marque os conjuntos que so alfabetos:

Conjunto dos nmeros naturais; [ ] Conjunto dos nmeros primos; [ ] Conjunto das letras do alfabeto brasileiro; [ ] Conjunto dos algarismos arbicos; [ ] Conjunto dos algarismos romanos; [ ] Conjunto { a, b, c, d }; [ ] Conjunto das partes de { a, b, c }; [ ] Conjunto das vogais; [ ] Conjunto das letras gregas. [ ]

Exerccio 1.2 D os possveis prefixos e sufixos de cada uma das seguintes palavras: a) teoria b) universidade c) aaa d) abccba e) abcabc Exerccio 1.3 Demonstre ou negue as seguintes propriedades algbricas da operao de concatenao de palavras: a) Fechamento b) Comutatividade c) Existncia de elemento neutro d) Associatividade Exerccio 1.4 Quando se pode dizer que a estrutura algbrica da operao de concatenao de palavras de uma linguagem anloga estrutura da operao de adio nos naturais?

____________________________________________________________ Compiladores 6