Skip to content

Latest commit

 

History

History
73 lines (55 loc) · 2.03 KB

README.md

File metadata and controls

73 lines (55 loc) · 2.03 KB

Sobre

Projeto da disciplina de Paradigmas de Linguagens de Programação (IN1007) ministrada pelo professor Augusto Sampaio no semestre de 2017.1 no Centro de Informática da Universidade Federal de Pernambuco.

Equipe

Proposta

Persistência de objetos serializados para as linguagens de Orientação a Objetos 1.

BNF

A BNF completa da linguagem de orientação a objetos 1 pode ser encontrada no site da linguagem. Para fins de uso no projeto, adicionamos a BNF existente a expressão abaixo:

IO ::= "write_file" "(" Id "," Expressao ")" | "read_file" "(" Id "," Expressao "," Expressao ")"

Exemplo

{
      classe Cliente {
          string name = "",
          string cpf = "",
          string sexo = ""
          ;
          
          proc print() {
            write(this.name);
            write(this.sexo);
            write(this.cpf)
          },
          
          proc setName(string receivedName) {
            this.name := receivedName            
          },
          
          proc setCpf(string receivedCpf) {
            this.cpf := receivedCpf            
          },
          
          proc setSexo(string receivedSexo) {
            this.sexo := receivedSexo           
          }
      }
      ;

      {
        Cliente c1 := new Cliente,
        Cliente c2 := new Cliente
        ;
        
        write("Teste do write_file + read_file");
        
        c1.setName("Jose Silva");
        c1.setSexo("M");
        c1.setCpf("111.111.111-01");
        
        write_file(c1,"output.txt");
        read_file(c2,"output.txt",0);
        
        c2.print()
     }
   }

Referências

  1. Site da linguagem
  2. Site da Disciplina (IN1007)
  3. Apresentacao do Projeto