Na oficjalnej stronie, https://code.google.com/p/smali/ , Smali jest zdefiniowany jako
assembler/disassembler for the dex format used by dalvik, Android's Java VM implementation
Także Wiktionary definiuje go jako
assembler (compiler for assembly language)
Dodatkowo wydaje się on mniej więcej pasować do definicji assemblera:
https://en.wikipedia.org/wiki/Assembly_language#High-level_assemblers
Mnie także wydaje się że można uznać go za rodzaj assemblera wyższego poziomu, bo przeznaczonego dla maszyny wirtualnej. Znajomi twierdzą jednak że jest to terminologia niepoprawna.
To jest po prostu bytecode dla dalvika
Jakie jest wasze zdanie na ten temat (i czy ten dział jest odpowiedni? xP)?