From 258615859d628b5715f1e6bcbec06f813dd43e9b Mon Sep 17 00:00:00 2001 From: Lucas Franceschino Date: Thu, 28 Nov 2024 08:11:40 +0100 Subject: [PATCH] book(architecture): describe the relation between the frontend & engine in the intro --- book/src/contributing/architecture.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/book/src/contributing/architecture.md b/book/src/contributing/architecture.md index 2fb766a27..fef0fb45f 100644 --- a/book/src/contributing/architecture.md +++ b/book/src/contributing/architecture.md @@ -5,6 +5,8 @@ Hax is a software pipeline designed to transform Rust code into various formal v 1. **The Frontend** (written in Rust) 2. **The Engine** (written in OCaml) +The frontend hooks into the Rust compiler, producing a abstract syntax tree for a given crate. The engine then takes this AST in input, applies various transformation, to reach in the end the language of the backend: F*, Coq... + ## The Frontend (Rust) The frontend is responsible for extracting and exporting Rust code's abstract syntax trees (ASTs) in a format suitable for processing by the engine (or by other tools).