46 lines
547 B
Markdown
46 lines
547 B
Markdown
# Fifth
|
|
|
|
A simple stack-based language called Fifth
|
|
|
|
## Usage
|
|
|
|
```shell
|
|
python fifth.py
|
|
```
|
|
|
|
### Commands
|
|
|
|
- `PUSH <n>` - push integer onto stack
|
|
- `POP` - remove top element
|
|
- `SWAP` - swap top two elements
|
|
- `DUP` - duplicate top element
|
|
- `+`, `-`, `*`, `/` - arithmetic operations
|
|
- `EXIT` - quit
|
|
|
|
### Example
|
|
|
|
```
|
|
stack is: []
|
|
PUSH 10
|
|
stack is: [10]
|
|
PUSH 5
|
|
stack is: [10, 5]
|
|
+
|
|
stack is: [15]
|
|
PUSH 45
|
|
stack is: [15, 45]
|
|
/
|
|
stack is: [3]
|
|
EXIT
|
|
```
|
|
|
|
## Tests
|
|
|
|
```bash
|
|
python -m pytest test_stack_calculator.py
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- Python 3.10+
|