+ Responder ao Tópico



  1. O objetivo deste trabalho é gerar um "compilador" que receba como entrada um programa "portugol" gerando como saída:
    a) o arquivo tokens
    b) os erros detectados na compilação.
    Seu programa deve conter 2 módulos: lexan e parser.

    Considere a seguinte gramática:
    programa := inicio identificador ; declaracoes instrucoes
    fim
    declaracoes := declaracoes ; declaracao
    | declaracao
    declaracao := identificadores : tipo
    identificadores := identificadores , identificador | identificador
    tipo := inteiro | real | logico | caracter
    instrucoes := instrucoes ; instrucao
    | instrucao
    instrucao := atribbuicao
    | instrucao_se
    | instrucao_leitura
    | instrucao_escrita
    | instrucao_enquanto
    atribuicao := identificador := expressao
    instrucao_se := se expressao entao inicio instrucoes fim
    | se expressao entao inicio instrucoes fim
    senao inicio instrucoes fim
    instrucao_leitura := leia(identificadores)
    instrucao_escrita := escreva(expressa)
    intrucao_enquanto := enquanto expressao faca inicio instrucoes fim
    expressao := expressao , expressao
    | expressao RELOP expressao
    | expressao ADDOP expressao
    | expressao MULOP expressao
    | identificador
    | constante
    | (expressao)

    Considere as seguintes convenções léxicas:
    1. Identificadores sao definidos pelas seguintes expressoes regulares:
    letras := A|B|...|Z|a|b|...|z
    digito := 0|1|...|9
    identificador := letra (letra |digito)*
    na implementacao pode-se limitar o tamanho do identificador.

    2. Constantes sao definidas da seguinte foma:
    constante := (+|-) (digito+| digito+ . digito+)

    3. Os operadores de relacao (RELOP) sao: RELOP := =|<|>=|>|<=|<>
    4. Os operadores de adicao (ADDOP) sao : ADDOP := +| - | or
    5. Os operadores (MULOP) sao : MULOP := *| /| div| mod| and

  2. Nao entendo bem onde isso e para aplicar mas talvez resolva.se com Visual Basic 6.0 ou vb.net



  3. Pelo que entendi, e me lembro quando estudei, isso é um trabalho para a materia de compiladores/s.o.

    Para fazer você pode escolher qualquer linguagem de programação existente, seja C, C#, C++, Delphi, Java, VB... até porque para se escrever algo usa-se uma linguagem já existente...

    Você precisará criar algumas funções diferentes ao seu "sistema"/compilador.

    1) Analisador Lexico, terá de verificar quais são as palavras permitidas, variaveis, etc.
    2) Analisador Sintatico, onde fará com que indique se as funções criadas são válidas
    3) compilador em si, transformará a sua sintaxe em sua linguagem "portugol" para a linguagem ao qual você está programando!

    Abraços!

  4. O cara postou o enunciado e nem se deu ao trabalho de dizer o que queria, será que ele está esperando uma resposta com anexos?? kkkkkkk






Tópicos Similares

  1. Squirrel mail urgente!
    Por no fórum Servidores de Rede
    Respostas: 5
    Último Post: 23-08-2002, 13:23
  2. Me ajudem!! URGENTE!!!! Filtros de Impressão!!!!
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 16-08-2002, 16:41
  3. URGENTE!!! vnc através firewall
    Por doug no fórum Servidores de Rede
    Respostas: 2
    Último Post: 13-08-2002, 09:28
  4. Netsaint URGENTE
    Por SergioBZ no fórum Servidores de Rede
    Respostas: 0
    Último Post: 12-08-2002, 13:54
  5. Bloquear sites no squid - urgente
    Por bauer no fórum Servidores de Rede
    Respostas: 1
    Último Post: 21-05-2002, 22:53

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L