Files
lix/tests/functional/lang/parse-okay-arithmetic.exp
T
piegames cf57b5c14c libexpr: Remove Expr::show, add JSON expression serialization
The code for serialization Expr nodes back into (pseudo-)Nix has been
removed for being subtly error-prone and tedious to maintain. Instead,
`nix-instantiate --parse` now prints a JSON representation of the AST.

Usage patterns of the --parse flag I've found in the wild:

1. Check if a file is well-formed, i.e. discard output and test exit code
2. Get parser errors from a file, i.e. discard stdout and use stderr
3. Nixfmt uses --parse to test equivalence pre/post format, and that property is (should be?) preserved

None of these should break with the current change

Closes #487

Change-Id: Icdbaad17790f2ad8765fa08e02e6597ee4c7a909
2025-01-21 11:35:51 +01:00

36 lines
781 B
Plaintext

_type: ExprCall
args:
- _type: ExprConcatStrings
es:
- _type: ExprInt
value: 7
- _type: ExprCall
args:
- _type: ExprCall
args:
- _type: ExprCall
args:
- _type: ExprInt
value: 0
- _type: ExprInt
value: 5
fun:
_type: ExprVar
value: __sub
- _type: ExprInt
value: 12
fun:
_type: ExprVar
value: __mul
- _type: ExprInt
value: 3
fun:
_type: ExprVar
value: __div
forceString: false
- _type: ExprInt
value: 1
fun:
_type: ExprVar
value: __sub