mirror of
https://github.com/Z3Prover/z3
synced 2026-05-02 00:23:44 +00:00
fstar: address code review comments - document gen_rhs_expr_list and strip-components
Agent-Logs-Url: https://github.com/Z3Prover/z3/sessions/0a30f342-3941-4952-a54f-1bee84b022ef Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
parent
4a2accf10c
commit
c49b403922
2 changed files with 6 additions and 0 deletions
3
.github/workflows/fstar-extract.yml
vendored
3
.github/workflows/fstar-extract.yml
vendored
|
|
@ -50,6 +50,9 @@ jobs:
|
||||||
URL="https://github.com/FStarLang/FStar/releases/download/v${FSTAR_VERSION}/${ARCHIVE}"
|
URL="https://github.com/FStarLang/FStar/releases/download/v${FSTAR_VERSION}/${ARCHIVE}"
|
||||||
echo "Downloading F* ${FSTAR_VERSION} from ${URL}" >&2
|
echo "Downloading F* ${FSTAR_VERSION} from ${URL}" >&2
|
||||||
curl -fsSL -o "/tmp/${ARCHIVE}" "${URL}"
|
curl -fsSL -o "/tmp/${ARCHIVE}" "${URL}"
|
||||||
|
# The F* 2026 archive has structure: ./fstar/bin/fstar.exe
|
||||||
|
# --strip-components=2 removes both './' and 'fstar/' so that
|
||||||
|
# bin/fstar.exe lands directly in $HOME/fstar/bin/fstar.exe.
|
||||||
mkdir -p "$HOME/fstar"
|
mkdir -p "$HOME/fstar"
|
||||||
tar -xzf "/tmp/${ARCHIVE}" -C "$HOME/fstar" --strip-components=2
|
tar -xzf "/tmp/${ARCHIVE}" -C "$HOME/fstar" --strip-components=2
|
||||||
echo "$HOME/fstar/bin" >> "$GITHUB_PATH"
|
echo "$HOME/fstar/bin" >> "$GITHUB_PATH"
|
||||||
|
|
|
||||||
|
|
@ -332,6 +332,9 @@ let rec gen_rhs_expr (e: cexpr) : Tot string (decreases e) =
|
||||||
^ gen_rhs_expr_list args ^ ")"
|
^ gen_rhs_expr_list args ^ ")"
|
||||||
|
|
||||||
and gen_rhs_expr_list (es: list cexpr) : Tot string (decreases es) =
|
and gen_rhs_expr_list (es: list cexpr) : Tot string (decreases es) =
|
||||||
|
(* Comma-separated list for C++ function arguments. Empty list yields ""
|
||||||
|
so EApp fn [] produces fn_name(), which is valid C++ for zero-arg calls
|
||||||
|
(e.g. builder helper functions that take no explicit arguments). *)
|
||||||
match es with
|
match es with
|
||||||
| [] -> ""
|
| [] -> ""
|
||||||
| [e] -> gen_rhs_expr e
|
| [e] -> gen_rhs_expr e
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue