Setelah kita membuat Lexer dan Parser kita memerlukan 1 hal lagi yaitu fungsi untuk mengevaluasi expression yang sudah ada. Untuk kode yang sudah lengkap bisa dilihat di github: https://github.com/aldidana/hitung
Tahap berikutnya setelah melakukan lexical analysis adalah Parsing. Untuk kode yang sudah lengkap bisa dilihat di github: https://github.com/aldidana/hitung Proses parsing akan memvalidasi token yang sudah ada menjadi sebuah AST
Tahap pertama sebuah compiler adalah mengubah kode sumber (source code) menjadi sebuah token, token ini adalah sebuah kata yang dapat dimengerti oleh bahasa pemrograman tersebut, tahap ini disebut Lexical Analysis atau juga Scanner.
Bagi kalian yang sudah pernah atau sering menggunakan bahasa pemrograman functional pasti sudah tidak asing lagi dengan pattern matching, tetapi pattern matching juga ada di bahasa pemrograman imperative yang mendukung pattern matching misalnya
Pada bagian 1, kita sudah membuat file bytecode.rs yang men-generate code dan mencetak hasilnya. Buat file vm.rs dan tambahkan code berikut: use crate::bytecode; pub struct VM { code: Vec<isize&