The Depth Programming Language
a Toy Infrastructure of executable program from scratch.
Depth can compile depth-lang, assemble x86_64 assembly,
link a object file, load virtual memory by
- translate AST to three-address code
- depth-lang -> lex -> parse -> sema -> transIR -> liveness -> codegen -> x86_64 asm
- can emit LLVM-IR with
- a assembler which can assemble x86_64 assembly and generate ET_REL object file.
- a static linker
- can link a objectfile
- this linker can resolve symbols, determine entry point.
- a loader implemented in user space.
- execute a static-linked binary with
- don't use
- a analyzer which can be used as GNU readelf.
- can analyze self-desined debug informations with
- a checker which can detect some security-mechanisms are in a binary.
- NX-bit( stack execution )
- stack protector( canary )
- screenName: Drumato
- Team: IPFactory / OtakuAssembly
- Language: Rust/C/Haskell/Zen
- Editor: Neovim
- Occupation: Student
- Interests: compiler/assembler/linker/OS/binary analysis(esp ELF)/ all low-level programming