Diferença entre expressão regular e gramática livre de contexto
Índice:
- O que é expressão regular
- O que é Gramática Livre de Contexto
- Relação entre Expressão Regular e Gramática Livre de Contexto
- Diferença entre expressão regular e gramática livre de contexto
o principal diferença entre a expressão regular e a gramática livre de contexto é que o expressões regulares ajudam a descrever todas as strings de uma linguagem regular, enquanto a gramática livre de contexto ajuda a definir todas as strings possíveis de uma linguagem livre de contexto.
Gramática denota regras sintáticas para conversação em linguagens naturais. A Ciência da Computação usa a teoria das linguagens formais em grande medida. No ano de 1956, Noam Chomsky deu um modelo matemático de gramática para escrever linguagens de computador. Quando é possível derivar um conjunto de todas as strings de uma gramática, diz-se que a linguagem é gerada a partir dessa gramática. Dois tipos de gramática são a gramática regular e a gramática livre de contexto. Qualquer linguagem que pode ser descrita por uma expressão regular é uma linguagem regular. A gramática livre de contexto é uma generalização da expressão regular. É possível usar expressões regulares para escrever linguagens regulares e gramática livre de contexto para escrever gramática livre de contexto.
Expressão regular, gramática livre de contexto
O que é expressão regular
A gramática regular gera linguagens regulares. Esta gramática tem um único não terminal no lado esquerdo e um lado direito consistindo em um único terminal ou único terminal seguido por um único não terminal. Ele pode ter uma regra de produção da seguinte maneira.
X -> a ou X -> a Y
Onde X, Y ϵ N (não terminal) e a ϵ T (terminal)
Expressões regulares ajudam a escrever gramática regular para descrever linguagens regulares.
Uma expressão regular representa um determinado conjunto de strings de uma forma algébrica. Algumas regras importantes a serem seguidas ao escrever uma expressão regular são as seguintes.
- Os símbolos terminais, símbolo nulo e símbolo vazio são expressões regulares.
- A união de duas expressões regulares é uma expressão regular.
- A concatenação de duas expressões regulares é uma expressão regular.
- Iteração ou encerramento é uma expressão regular.
A expressão regular para o conjunto {0, 1, 2} é a seguinte.
R = 0 + 1 + 2
O conjunto {abb, a, b, bba} pode ser representado pela seguinte expressão regular.
R = abb + a + b + bba
Considere o conjunto, {ϵ, 0, 00, 000,…}
O ϵ é a string vazia. A expressão regular é R = 0 *. Isso representa o fechamento do símbolo, incluindo o símbolo vazio.
No conjunto {1, 11, 111, 1111,…..}
A expressão regular é R = 1 +. Este + denota o fechamento de um símbolo excluindo o símbolo vazio.
O que é Gramática Livre de Contexto
Na teoria da linguagem formal, Context Free Language (CFL) é uma linguagem gerada pela Gramática Livre de Contexto. Quatro parâmetros definem a gramática livre de contexto (G).
G = {V, ∑, S, P}
V: Conjunto de símbolos variáveis ou não terminais.
∑: Conjunto de símbolos terminais
S: Símbolo de início
P: Regra de Produção
A Gramática Livre de Contexto tem o seguinte formato para regra de produção.
A -> a onde a = {V, ∑} * e A ϵ V
Um exemplo de Gramática Livre de Contexto é o seguinte. Cada produção consiste em um símbolo não terminal e uma expressão regular.
Pois a geração de uma linguagem que gera um número igual de a e b está no formato de um b . A gramática livre de contexto é a seguinte.
G = {(S, A), (a, b), (S -> aAb, A -> aAb | ϵ)}
Considerando o símbolo inicial,
S -> a A b
Ao aplicar A -> aAb
→ a a A b b
Ao aplicar A -> aAb novamente,
→ a a a A b b b
Aplicando A -> ϵ (este símbolo denota uma string vazia)
→ a a a b b b
→ a 3 b 3
Ao considerar a saída, o número de a's é igual ao número de b's. Tem o a b Formato.
Relação entre Expressão Regular e Gramática Livre de Contexto
Diferença entre expressão regular e gramática livre de contexto
Definição
Uma expressão regular é um conceito na teoria da linguagem formal, que é uma sequência de caracteres que definem um padrão de pesquisa. Gramática livre de contexto é um tipo de gramática formal na teoria da linguagem formal, que é um conjunto de regras de produção que descreve todas as cadeias de caracteres possíveis em uma determinada linguagem formal.
Uso
As expressões regulares ajudam a representar certos conjuntos de strings de uma forma algébrica. Isso ajuda a representar linguagens regulares. A gramática livre de contexto ajuda a definir todas as strings possíveis de uma linguagem livre de contexto.
Conclusão
Uma expressão regular é um método para correspondência de padrões. É um método flexível de fornecer um meio flexível e conciso de combinar sequências de texto. Ele define todas as strings na linguagem regular. Por outro lado, a gramática livre de contexto permite definir todas as strings pertencentes a uma linguagem livre de contexto. A diferença entre a expressão regular e a gramática livre de contexto é que as expressões regulares ajudam a descrever todas as strings de uma linguagem regular, enquanto a gramática livre de contexto ajuda a definir todas as strings possíveis de uma linguagem livre de contexto.
Referência:
1. “Expressões regulares.” Www.tutorialspoint.com, Tutorials Point, 8 de janeiro de 2018, disponível aqui.2. “Introdução à gramática livre de contexto.” Www.tutorialspoint.com, Tutorials Point, 8 de janeiro de 2018, disponível aqui.
Cortesia de imagem:
1. “Toolbaricon RegEx” de M0tty - Trabalho próprio (CC BY-SA 4.0) via Commons Wikimedia
![Diferença entre expressão regular e gramática livre de contexto Diferença entre expressão regular e gramática livre de contexto](https://img.books-kingdom.com/images/001/image-2690.jpg)