blob: dff97e59765e8f9220d5ccf93e36f3ea4de217c6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# Baba Yaga C Implementation
A C implementation of the Baba Yaga functional programming language.
## Current Status
✅ **Core Functionality Complete** - Basic language features working
**Progress**: ~85% Complete
## Quick Start
```bash
# Build
make debug
# Test basic functionality
./bin/baba-yaga '5 + 3;' # Output: 8
./bin/baba-yaga 'add 5 3;' # Output: 8
./bin/baba-yaga '@multiply 2 3;' # Output: 6
./bin/baba-yaga 'add 5 @multiply 3 4;' # Output: 17
```
## Documentation
📖 **[IMPLEMENTATION_GUIDE.md](IMPLEMENTATION_GUIDE.md)** - Complete implementation guide, project status, and TODO
This unified document contains:
- Language overview and features
- Current implementation status
- Working features and examples
- Known limitations
- Development workflow
- Build system documentation
- Success metrics and risk assessment
## Language Features
- ✅ Basic arithmetic operations
- ✅ Function calls and references (@ operator)
- ✅ Variable assignment and lookup
- ✅ Standard library functions
- ✅ Comparison and logical operators
- 🔵 User-defined functions (in progress)
- 🔵 Pattern matching (planned)
- 🔵 Multiple statement parsing (planned)
## Build System
```bash
make debug # Build with debug info
make release # Build optimized version
make clean # Clean build artifacts
```
## Testing
```bash
# Test basic operations
./bin/baba-yaga '5 + 3;'
./bin/baba-yaga 'add 5 3;'
./bin/baba-yaga '@multiply 2 3;'
# Check for memory leaks
valgrind --leak-check=full ./bin/baba-yaga '5 + 3;'
```
## License
[License information here]
|