Exercício 07.104

Especifique uma Gramática Livre do Contexto (GLC) que especifique o conteúdo de um arquivo CSV, utilizando o ponto e vírgula (;) como delimitador de campo, as aspas duplas (") como delimitador de texto e o \n para indicar a nova linha.


Resposta com recursividade à esquerda

G = ({file, line, word, text, letter, digit}, {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q,
     r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ;, ", \n}, P, file)
P = {< file >    ->  < line > \n < file >
                 |   < line >
     < line >    ->  < word > ; < line >
                 |   < word >
     < word >    ->  " < text > "
     < text >    ->  < letter > < text >
                 |   < digit > < text >
                 |   ε
     < letter >  ->  a  |  b  |  c  |  d  |  e  |  f  |  g  |  h  |  i  |  j  |  k  |  l  |  m
                 |   n  |  o  |  p  |  q  |  r  |  s  |  t  |  u  |  v  |  w  |  x  |  y  |  z
     < digit >   ->  0  |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  }

Recomendamos

Kinghost Duolingo Revista Segurança Digital