Skip to content
Xnovity
Compiler architecture

A planned compiler and runtime pipeline, documented without overstating implementation.

Responsibilities, inputs, outputs, current status, and source paths are listed below. Every implementation source path is currently "not present in checkout".

Planned

Lexer

Input: Felidae source text
Output: Tokens

Responsibility: Recognize keywords, identifiers, literals, comments, and punctuation.

Source: Not present in checkout

Planned

Parser

Input: Tokens
Output: Parse tree

Responsibility: Apply grammar rules and produce diagnostics for invalid syntax.

Source: Not present in checkout

Planned

AST

Input: Parse tree
Output: AST nodes

Responsibility: Represent programs, agents, policies, tools, workflows, and outputs.

Source: Not present in checkout

Research

Semantic analysis

Input: AST
Output: Checked program

Responsibility: Resolve symbols, types, scopes, effects, and capability references.

Source: Not present in checkout

Research

Optimization

Input: Checked program
Output: Execution plan

Responsibility: Optimize for reliability, cost, latency, and deterministic validation where possible.

Source: Not present in checkout

Research

IR

Input: Checked program
Output: Intermediate representation

Responsibility: Bridge language constructs to runtime and backend targets.

Source: Not present in checkout

Research

Backend

Input: IR
Output: Target artifact

Responsibility: Generate executable services, runtime plans, or integration artifacts.

Source: Not present in checkout

Research

Runtime

Input: Target artifact
Output: Agent execution

Responsibility: Execute tools, enforce policies, manage memory, emit traces, and request approvals.

Source: Not present in checkout

Security model

The intended security model is policy-first: tool permissions, data scopes, human approvals, audit logs, and citation requirements should be validated before risky actions. This is not implemented in the checkout and remains a research topic.

Runtime

A future runtime would execute agent workflows, mediate tool calls, manage scoped memory, enforce policy decisions, and emit traces. No runtime source is present here.