Skip to content

Add bytecode and VM #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 24 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
c748059
Added skeleton for basic opcodes
nishant-sachdeva Jun 12, 2023
95bd125
Added skeleton for compilation, raw assembly and format Assembly
nishant-sachdeva Jun 13, 2023
997f3a5
adding bytecode decoder
nishant-sachdeva Jun 15, 2023
3ceff9c
added complete code for assembly generation and assembly decoding
nishant-sachdeva Jun 15, 2023
0efbf85
added instruction generation for integer constants
nishant-sachdeva Jun 16, 2023
266fd30
virtual machine running live for OpConstants
nishant-sachdeva Jun 18, 2023
2c2e124
added skeleton for OpAdd instructions, fixed bugs in read_operands fu…
nishant-sachdeva Jun 22, 2023
308587e
added compilation and virtual machine implementation for add operation
nishant-sachdeva Jun 22, 2023
93e2078
added compiler REPL
nishant-sachdeva Jun 22, 2023
287e599
added stack cleaning to add operation
nishant-sachdeva Jun 22, 2023
1a0acfd
added basic arithmetic operations
nishant-sachdeva Jun 23, 2023
24230ca
Added opcodes, compiler support and vm support for booleans
nishant-sachdeva Jun 23, 2023
1a8cc0e
added opcode, compiler, vm support for comparison operations
nishant-sachdeva Jun 23, 2023
d193fc2
added opcode, compiler and vm support for prefix operations
nishant-sachdeva Jun 23, 2023
3676f46
Added opcode support for if conditions.
nishant-sachdeva Jun 24, 2023
73d00c1
Added opcode, compiler support for if then else
nishant-sachdeva Jun 24, 2023
8b13869
implemented complete vm support for conditionals
nishant-sachdeva Jun 24, 2023
d7e4e8f
added skeleton for let statements
nishant-sachdeva Jun 24, 2023
27078a2
added opcode, compiler, vm ,repl support for let statements with glob…
nishant-sachdeva Jun 25, 2023
977d041
added bytecode, compiler, vm, repl support for strings, string concat…
nishant-sachdeva Jun 25, 2023
bd0de9e
added bytecode, compiler, vm , repl support for array literals
nishant-sachdeva Jun 25, 2023
1b9d721
added bytecode, compiler, vm, repl support for hash literals
nishant-sachdeva Jun 25, 2023
09b35c6
added bytecode, compiler, vm and repl support for indexing operation
nishant-sachdeva Jun 26, 2023
fdb1b61
added skeleton for functions compilation
nishant-sachdeva Jul 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
lazy_static = "1.4"
1 change: 1 addition & 0 deletions src/compiler.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub mod compiler;
Loading