This is an assembler which converts machine language into 16-bit hack binary language. (nand2tetetris)
An assembler is a program that takes basic computer instructions and converts them into a pattern of bits that the computer's processor can use to perform its basic operations. Some people call these instructions assembler language and others use the term assembly language.