113 lines
3.1 KiB
Markdown
113 lines
3.1 KiB
Markdown
# SDL3 Parser Documentation
|
|
|
|
Complete documentation for the SDL3 C header to Zig bindings generator.
|
|
|
|
## Quick Links
|
|
|
|
- **[README](../README.md)** - Start here for project overview
|
|
- **[Getting Started](GETTING_STARTED.md)** - Installation and first use
|
|
- **[API Reference](API_REFERENCE.md)** - Command-line options
|
|
|
|
## User Guides
|
|
|
|
### Essential
|
|
|
|
1. **[Getting Started](GETTING_STARTED.md)** - Installation, first parse, basic usage
|
|
2. **[Quickstart Guide](QUICKSTART.md)** - Quick reference for common tasks
|
|
3. **[API Reference](API_REFERENCE.md)** - Complete command-line reference
|
|
|
|
### Features
|
|
|
|
4. **[Dependency Resolution](DEPENDENCY_RESOLUTION.md)** - How automatic type extraction works
|
|
5. **[Known Issues](KNOWN_ISSUES.md)** - Current limitations and workarounds
|
|
|
|
## Technical Documentation
|
|
|
|
### Architecture
|
|
|
|
6. **[Architecture Overview](ARCHITECTURE.md)** - System design and components
|
|
7. **[Dependency Flow](DEPENDENCY_FLOW.md)** - Complete technical walkthrough (845 lines)
|
|
8. **[Visual Flow Diagrams](VISUAL_FLOW.md)** - Quick reference diagrams
|
|
|
|
### Implementation Details
|
|
|
|
9. **[Multi-Field Structs](MULTI_FIELD_IMPLEMENTATION.md)** - How `int x, y;` parsing works
|
|
10. **[Typedef Support](TYPEDEF_IMPLEMENTATION.md)** - Simple typedef implementation
|
|
11. **[Multi-Header Testing](MULTI_HEADER_TEST_RESULTS.md)** - Test results across SDL headers
|
|
|
|
## Development
|
|
|
|
12. **[Development Guide](DEVELOPMENT.md)** - Contributing, extending, Zig 0.15 guidelines
|
|
13. **[Roadmap](ROADMAP.md)** - Future plans and priorities
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Install
|
|
cd parser/
|
|
zig build
|
|
zig build test
|
|
|
|
# Generate bindings
|
|
zig build run -- ../SDL/include/SDL3/SDL_gpu.h --output=gpu.zig
|
|
|
|
# Use in code
|
|
const gpu = @import("gpu.zig");
|
|
```
|
|
|
|
## Documentation by Use Case
|
|
|
|
### "I want to generate Zig bindings"
|
|
→ Start with [Getting Started](GETTING_STARTED.md)
|
|
|
|
### "I want to understand how it works"
|
|
→ Read [Architecture](ARCHITECTURE.md)
|
|
|
|
### "I'm hitting an error"
|
|
→ Check [Known Issues](KNOWN_ISSUES.md)
|
|
|
|
### "I want to extend the parser"
|
|
→ See [Development Guide](DEVELOPMENT.md)
|
|
|
|
### "I need technical details"
|
|
→ Deep dive: [Dependency Flow](DEPENDENCY_FLOW.md)
|
|
|
|
## Project Status
|
|
|
|
**Version**: 2.1
|
|
**Status**: Production ready for SDL_gpu.h
|
|
**Last Updated**: 2026-01-22
|
|
|
|
### Supported Headers
|
|
|
|
| Header | Status | Notes |
|
|
|--------|--------|-------|
|
|
| SDL_gpu.h | ✅ Complete | 100% dependency resolution |
|
|
| SDL_keyboard.h | ⚠️ Partial | Large enum issues |
|
|
| SDL_video.h | ⚠️ Partial | Some types not found |
|
|
| SDL_events.h | ⚠️ Partial | Parse errors |
|
|
|
|
See [Known Issues](KNOWN_ISSUES.md) for details.
|
|
|
|
## Key Features
|
|
|
|
✅ Automatic dependency resolution (100% for SDL_gpu.h)
|
|
✅ Multi-field struct parsing (`int x, y;`)
|
|
✅ Typedef support (`typedef Uint32 SDL_Type;`)
|
|
✅ Method organization (functions → methods)
|
|
✅ Mock generation for testing
|
|
✅ Comprehensive error reporting
|
|
|
|
## Statistics
|
|
|
|
- **Code**: ~900 lines (production)
|
|
- **Tests**: 26+ unit tests (100% passing)
|
|
- **Documentation**: 5,500+ lines
|
|
- **Success Rate**: 100% for SDL_gpu.h
|
|
|
|
---
|
|
|
|
## Archive
|
|
|
|
Historical planning and session documents are in `archive/` for reference.
|