https://github.com/dgame/vm
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/dgame/vm
- Owner: Dgame
- Created: 2016-02-08T13:37:10.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-02-08T13:57:51.000Z (over 10 years ago)
- Last Synced: 2023-04-04T07:17:21.520Z (about 3 years ago)
- Language: C++
- Size: 14.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VM - A simple Virtual-Machine
## Pseudo-Code Input
```
var a = 42
print a
var b = 23
print b
var c = a + b
print c
print 'Hallo Welt'
print 42
print 3.14
if a > b {
print 'b is lower than a'
} else {
print 'a is lower than b'
}
var i = 0
while i < 5 {
print i
}
```
## OpCode-Output:
Schema: ` [, ]`
```
assign &0, 42
print &0
assign &1, 23
print &1
add &0, &1
assign &2, ~0
print &2
print 'Hallo Welt'
print 42
print 3.14
is_lower &0, &1
skip_if_not #2
print 'a is lower than b'
skip #1
print 'b is lower than a'
assign &3, 0
is_lower_or_equal 5, &3
skip_if #4
print &3
add &3, 1
assign &3, ~0
skip #-5
```
| OpCode | Interpretation |
| ------------- |:-------------:
|`&`|Variable|
|`~`|Stack-Offset|
|`#`|Address-Offset|
## Console-Output / Interpretation:
```
42
23
65
Hallo Welt
42
3.14
b is lower than a
0
1
2
3
4
```