Jump to content

Edinho Sousa

Membros
  • Content Count

    7
  • Joined

  • Last visited

Everything posted by Edinho Sousa

  1. Os compiladores são ferramentas muito úteis e importantes no mundo da programação e desenvolvimento. A função básica dos compiladores é pegar uma linguagem de "alto nível" (linguagem com maior nível de abstração do hardware) e produzir um código semanticamente equivalente em "baixo nível". A velocidade de execução do código compilado é uma vantagem que se destaca, tendo em vista que o compilador faz otimizações no processo de compilação. Verificações de erros sintáticos e semânticos são outras funcionalidades também executadas pelo compilador. Por que criar um compilador? Além dos mo
  2. Olá tudo bom? Bom estou tentando criar um editor de codigo em html, css e javascript. Como o Rust (https://play.rust-lang.org/) ou o repl.it, o problema é a parte de aplicar um estilo nas palavra. Vi uma maneira de fazer isso usando uma div com um atributo <div contenteditable="true"></div> e usando a seguinte função javascript editor.addEventListener("keyup", () => { let ctn = editor.innerHTML for (let s of sintaxe){ ctn = ctn.replace(s.palavra+" ", `<span class="${s.classe}">${s.palavra}</span> `) } edito
  3. Ola bom dia! Bom tenho uma duvida como a máquina do Virtual do python armazena o bytecode? É em um array? Um exemplo: Import dis def ex1(): return 10 dis.dis(ex1) Isso mostra o bytecode gerado pela função ex1 que seria: 2 0 LOAD_CONST 1 (10) 3 RETURN_VALUE Alguem tem um site onde posso estudar melhor esse bytecode? E entender como ele é armazenado na memória e executado?
  4. @Fernando Mercês obrigado denovo 😃
  5. Edinho Sousa

    Duvida!!!

    Boa tarde! nos meus estudos descobrir algo interessante, um programa em assembly como: global _main: _main: mov eax, 10 add ecx, 10 add ebx, 20 compilando: nasm -f win32 tes.asm -o tes.o e usando o objdump do gcc temos o seguite resutado tes.o: file format pe-i386 Disassembly of section .text: 00000000 <.text>: 0: b8 0a 00 00 00 mov $0xa,%eax 5: 83 c1 0a add $0xa,%ecx 8: 83 c3 14 add $0x14,%ebx concluimos que 83 é o opcode de add, c1 e c3 são os registradores ecx, ebx e 0
  6. Ola me chamo Edinho! Bom a alguns messes venho estudando por conta própria "teoria dos compiladores". E venho fazendo alguns projetos de teste, mas ai surgiu uma duvida: como faço para gerar o codigo executável?(arquivos .exe), pois ate agora uso uma "maquina virtual" ou o compilador gera um codigo assembly onde uso o nasm para gerar o executável. Então queria saber como criar tais arquivos sem precisar do nasm, porque se enviar o projeto para meu amigo e ele nao tiver o nasm em seu computador nao poderar compilar o programa. Essa é minha dúvida alguém pode me ajudar com link, videos
×
×
  • Create New...