Gramatica em flex

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (630 palavras )
  • Download(s) : 0
  • Publicado : 11 de janeiro de 2013
Ler documento completo
Amostra do texto
As gramáticas são definidas por G = (T,N,S,P)
Para facilitar a leitura das produções, os símbolos não terminais foram encapsulados por '<' e '>' no lado direito das produções. As restantesregras BNF foram respeitadas.

1.
T={a}, N={S}, S={S}, P={S->a<S>|a}

2.(a)
T={a,b}, N={S,B}, S={S}, P={S->a<S>|aB, B->b<B>|ε}

2.(b)
T={a,b}, N={S,B}, S={S},P={S->a<S>b, ab}

2.(c)
T={a,b,c}, N={S,B}, S={S}, P={S->a<S>c|b<B>c|ε, B->b<B>c|ε}

2.(d)
T={'-','+',0,1,2,3,4,5,6,7,8,9}
N={S, Sinal, Dígitos, Dígito}
S={S}
P={S->'+'<Dígitos>|'-'<Dígitos>|<Dígitos>
Dígitos-><Dígitos><Dígito>|<Dígito>,
Dígito->0|...|9
}

ou

P={S-><Sinal><Dígitos>,
Sinal->'-'|'+'|ε,
Dígitos-><Dígitos><Dígito>|<Dígito>,
Dígito->0|...|9
}

2.(e)
T={'-','+','.','^','E',0,1,2,3,4,5,6,7,8,9}
N={S, Sinal,PInteira, PDecimal, Dígitos, Dígito}
S={S}
P={S-><Sinal><PInteira><Expoente>|<Sinal><PDecimal><Expoente>|<Sinal><PInteira><PDecimal><Expoente>,
Sinal->'-'|'+'|ε,
PInteira-><Dígitos>
PDecimal->'.'<Dígitos>
Expoente->'^'<Dígitos>|'E'<Sinal><Dígitos>|εDígitos-><Dígitos><Dígito>|<Dígito>,
Dígito->0|...|9
}

2.(f)
T={0,...,9,a,...,z,A,...,Z}
N={S,A}
P={
S->a<A>|...|Z<A><A>->a<A>|...|Z<A>|0<A>|...|9<A>|ε
}

2.(g)
T={'-','+','/','*',0,...,9}
N={S, Expressão, Operador, Número}
S={Expressão}
P={Expressão-><Expressão><Operador><Número>|<Número><Operador><Número>
Operador->'-'|'+'|'/'|'*'
}

2.(h)
T={'-','+','/','*',0,...,9,a,...,z,A,...,Z}
N={S, Expressão, Operador, Número, Termo}
S={Expressão}
P={...
tracking img