The project investigates the use of Abstract State Machine in the process of computer program compilation.Compilation is to produce machine-code from a source program written in a high-level language. A compiler is a program written for the purpose. Machine-code is the computer-readable representation of sequences of computer instructions.An Abstract State Machine (ASM) is a notional computing machine, developed by Yuri Gurevich, for accurately and easily representing the semantics of algorithms. It is a development of the Turing machine. A Turing machine is an abstract machine invoked in theories of computability and automata, that can perform simple reading, writing and shifting operations according to a finite set of rules, upon an infinite tape.In the project the expressive power of ASM is used to capture the semantics of the programming language Scheme according to a particular model, and to take advantage of ASM's simple form in the process of compilation. The semantic model is The Environment Model for Evaluation described by Abelson and Sussman in Structure and Interpretation of Computer Programs. Attention is given to the process of parsing the Scheme code, to derive its structure, and the representation of this structure using ASM.