RoboDSL Developer Guide
Welcome to the RoboDSL developer guide! This document provides comprehensive information about the project's architecture, code organization, and development workflow to help you understand and contribute effectively.
Table of Contents
- Project Overview
- Architecture
- Core Components
- Data Flow
- Build System Integration
- Module Reference
- CLI Module
- Parser Module
- Generator Module
- Template System
- Code Organization
- Source Code Structure
- Build System
- Testing Framework
- Development Workflow
- Environment Setup
- Building from Source
- Running Tests
- Debugging
- Extending RoboDSL
- Adding New Node Types
- Custom Code Generators
- Template Customization
- Performance Optimization
- Code Generation
- Runtime Performance
- Memory Management
Project Overview
RoboDSL is a domain-specific language designed for building GPU-accelerated robotics applications. It provides a high-level, declarative syntax for defining robot behaviors, data processing pipelines, and hardware interfaces.
Key Features
- Declarative Syntax: Define robot behaviors and data flows in a clean, readable format
- GPU Acceleration: Seamless integration with CUDA for high-performance computing
- Modular Architecture: Easily extendable with custom components and templates
- Cross-Platform: Works on Linux, Windows, and macOS with consistent behavior
- ROS2 Integration: Native support for ROS2 nodes and communication patterns