about summary refs log tree commit diff stats
path: root/js/scripting-lang/baba-yaga-c/README.md
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]