# oxur-lang
Language processing for Oxur: parsing, macro expansion, and Core Forms IR.
## Stages
### Stage 1: Parse
Converts raw Oxur source into Surface Forms (S-expression AST).
### Stage 2: Expand
Transforms Surface Forms into Core Forms through macro expansion and desugaring.
## Core Forms
Core Forms are the canonical intermediate representation that serves as the stable
contract between the Oxur frontend and the Rust backend. All syntactic sugar and
macros are expanded into these forms.
## Source Maps
The source map tracks every transformation from original source through to Rust AST,
enabling accurate error reporting that points back to the original Oxur code.