2026-04-20 16:22:10 +03:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<project>
|
Phase 1 bootstrap: Blaise compiler skeleton
Renames the project from 'Clean Pascal' to Blaise (after Blaise Pascal).
Adds the Phase 1 compiler pipeline with TDD test suite:
- uPasTokeniser: general Pascal tokeniser (ported from fpGUI IDE)
- uLexer: compiler-specific adapter — filters whitespace/comments,
maps to TTokenKind, unescapes string literals
- uAST: typed AST node hierarchy (TProgram, TBlock, TBinaryExpr, etc.)
- uParser: recursive-descent parser for the Phase 1 BNF grammar
- uCodeGenQBE: QBE IR emitter — WriteLn/Write built-ins, integer
variables, arithmetic, string literals
- Blaise.pas: compiler driver — parses flags, shells to qbe+cc
- FPCUnit test suites for lexer, parser, and code generator
2026-04-20 17:35:50 +03:00
|
|
|
<name>blaise</name>
|
2026-07-04 21:44:54 +03:00
|
|
|
<version>0.12.0</version>
|
2026-04-20 16:22:10 +03:00
|
|
|
<author>Graeme Geldenhuys</author>
|
2026-05-03 21:45:29 +03:00
|
|
|
<license>Apache-2.0 WITH Swift-exception</license>
|
2026-04-20 16:22:10 +03:00
|
|
|
|
|
|
|
|
<build>
|
|
|
|
|
<packaging>pom</packaging>
|
|
|
|
|
</build>
|
|
|
|
|
|
|
|
|
|
<modules>
|
refactor: split rtl/ into runtime/ + stdlib/, rename bcl.testing to blaise.testing
Separate always-linked runtime code (system.pas, ARC, strings, platform
abstraction) from opt-in standard library units (sysutils, classes, math,
dateutils, generics, etc.). This mirrors the Go runtime/ vs stdlib, Rust
core vs std, and Swift SwiftRuntime vs SwiftCore patterns.
- runtime/ contains code linked into every binary + C shims
- stdlib/ contains units imported explicitly via uses clause
- Single platform abstraction layer (rtl.platform.*) in runtime/,
shared by both runtime/ and stdlib/ units
- bcl.testing renamed to blaise.testing across all 95+ test files
- Updated PasBuild project.xml, fixpoint.sh, README, unit search paths
- All 1931 tests pass, fixpoint OK (stage-3/stage-4)
2026-05-16 02:51:18 +03:00
|
|
|
<module activeByDefault="false">runtime</module>
|
|
|
|
|
<module activeByDefault="false">stdlib</module>
|
2026-04-20 16:22:10 +03:00
|
|
|
<module>compiler</module>
|
|
|
|
|
<module>tools/migration-analyser</module>
|
2026-06-06 02:54:26 +03:00
|
|
|
<module>tools/kanban</module>
|
2026-07-04 21:44:54 +03:00
|
|
|
<module activeByDefault="false">tools/bif-coverage</module>
|
2026-04-20 16:22:10 +03:00
|
|
|
</modules>
|
|
|
|
|
|
|
|
|
|
<profiles>
|
|
|
|
|
<profile>
|
|
|
|
|
<id>debug</id>
|
|
|
|
|
<defines>
|
|
|
|
|
<define>DEBUG</define>
|
|
|
|
|
</defines>
|
|
|
|
|
<compilerOptions>
|
2026-06-21 15:31:58 +03:00
|
|
|
<option>--debug</option>
|
|
|
|
|
<option>--debug-opdf</option>
|
2026-04-20 16:22:10 +03:00
|
|
|
</compilerOptions>
|
|
|
|
|
</profile>
|
|
|
|
|
|
|
|
|
|
<profile>
|
|
|
|
|
<id>release</id>
|
|
|
|
|
<defines>
|
|
|
|
|
<define>RELEASE</define>
|
|
|
|
|
</defines>
|
|
|
|
|
</profile>
|
|
|
|
|
</profiles>
|
|
|
|
|
</project>
|