[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

semi-gabarito P2



Atendendo a pedidos, fiz rapidinho um gabarito da P2 para quem está estudando
para a Sub:

1)a) [0-9]?([A-Za-z][0-9])*[a-zA-Z]?
     ou 
     [a-zA-Z]?([0-9][A-Za-z])*|[0-9]?([A-Za-z][0-9])*

  b) -[12]?[0-9]?[0-9]?[1-9]

  c) [0-7]{1,3}

  d) ([^123]*1)+([^123]*2)+([^123]*3)+

3) a) para cada linha (da entrada padrao) cujo comprimento é maior do que 100,
      imprime "mau estilo: NumeroDaLinha".
   
   b)  para cada linha do arquivo carta.txt imprime "NumeroDaLinha : NumeroDeCamposDaLinha"

   c) idem ao b)

   d) para cada linha da entrada padrao que contenha a cadeia "Ronaldo",
      imprime "NumeroDaLinha : PrimeiroCampoDaLinha"

4) 

%{
        #include "calculadora.h"
%}

EXPR    [0-9()+/*\-]+
ESP_FIN [[:space:]]+$
LIN_VAZ ^[[:space:]]*\n

%%

EXPR            printf ("%ld", calcula (yytext));
ESP_FIN         /* nada */
LIN_VAZ         /* nada */
.               ECHO

%%

int main()
{
        yylex();
        return 0;
}

5) i) depurador, 
   ii) lint, 
   iii) gcc -Wall, 
   iv) gnuplot, 
   v) diff/grep/awk p/ análise de logs e saídas longas, 
   vi) purify/bounds checker
   ...