11.07.2015 Views

Compiladores: PASCALjr - WWW2 - Udesc

Compiladores: PASCALjr - WWW2 - Udesc

Compiladores: PASCALjr - WWW2 - Udesc

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

OpSubt ExprAr | SubRot |Identificador | NumeroInteiro | NumeroReal |ConstCaracter | ConstStringExercício: Montar a árvore gramatical para a expressão 2 ∗ (X − 5.0) + 10/BA idéia é gerar os elementos de menor precedência mais próximos à raiz da árvoresintática e os de maior precedência, mais próximos às folhas.Novamente temos problemas com a solução proposta: recursão à esquerda. A novagramática após realizado o processo (já estudado) de eliminação da recursão à esquerda,temos:ExprAr → TermoAr ExprAr’ExprAr’ → OpAdic TermoAr ExprAr’ |OpSubt TermoAr ExprAr’ | εTermoAr → FatorAr TermoAr’TermoAr’ → OpMult FatorAr TermoAr’ |OpDivi FatorAr TermoAr’ | εFatorAr → ElementoAr FatorAr’FatorAr’ → OpPote ElementoAr FatorAr’ | εElementoAr → AbrePar ExprAr FechaPar |OpSubt ExprAr | SubRot |Identificador | NumeroInteiro | NumeroReal |ConstCaracter | ConstStringExercício: Montar a árvore sintática para a expressão: 2 ∗ (X − 5.0) + 10/B.Analisando Expressões LógicasUma expressão lógica é, na verdade, uma comparação entre resultados de expressõesaritméticas, ou ainda, a união de duas expressões aritméticas através de um operadorrelacional.São possíveis ainda, expressões lógicas mais complexas através da união de duas expressõeslógicas simples por operadores lógicos.Expr → TermoLog Expr’ TernarioTernario → Interrog Expr DoisPt Expr | εExpr’ → OpLogAnd TermoLog Expr’ |OpLogOr TermoLog Expr’ |OpLogXor TermoLog Expr’ | εTermoLog → FatorLog TermoLog’37

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!