doc/langref.html.in | 107 ++++++- doc/langref/ambiguous_precedence_orelse.zig | 12 + doc/langref/grammar.peg | 62 ++-- doc/langref/operator_precedence.zig | 86 +++++ lib/c/math.zig | 4 +- lib/c/stdlib/drand48.zig | 12 +- lib/compiler/Maker/Step/Compile.zig | 2 +- lib/compiler/aro/aro/Compilation.zig | 6 +- lib/compiler/aro/aro/Driver.zig | 2 +- lib/compiler/aro/aro/Parser.zig | 2 +- lib/compiler/aro/aro/Preprocessor.zig | 6 +- lib/compiler/aro/aro/Preprocessor/Parser.zig | 2 +- lib/compiler/aro/aro/char_info.zig | 4 +- lib/compiler/aro/aro/record_layout.zig | 2 +- lib/compiler_rt/absv.zig | 2 +- lib/compiler_rt/addf3.zig | 2 +- lib/compiler_rt/atomics.zig | 2 +- lib/compiler_rt/comparef.zig | 8 +- lib/compiler_rt/divdf3.zig | 16 +- lib/compiler_rt/divsf3.zig | 14 +- lib/compiler_rt/divtf3.zig | 20 +- lib/compiler_rt/divxf3.zig | 20 +- lib/compiler_rt/elf/tls.zig | 2 +- lib/compiler_rt/extendf.zig | 4 +- lib/compiler_rt/floor_ceil.zig | 8 +- lib/compiler_rt/fmod.zig | 4 +- lib/compiler_rt/mulf3.zig | 2 +- lib/compiler_rt/rem_pio2l.zig | 2 +- lib/compiler_rt/sqrt.zig | 10 +- lib/compiler_rt/truncf.zig | 6 +- lib/std/Io/Dispatch.zig | 4 +- lib/std/Io/Kqueue.zig | 2 +- lib/std/Io/Threaded/test.zig | 2 +- lib/std/Io/Writer.zig | 2 +- lib/std/Io/net/HostName.zig | 2 +- lib/std/base64.zig | 6 +- lib/std/bit_set.zig | 8 +- lib/std/coff.zig | 2 +- lib/std/compress/flate/Compress.zig | 4 +- lib/std/crypto/aes/soft.zig | 2 +- lib/std/crypto/codecs/base64_hex_ct.zig | 2 +- lib/std/crypto/ml_kem.zig | 2 +- lib/std/crypto/scrypt.zig | 2 +- lib/std/crypto/sha2.zig | 2 +- lib/std/debug.zig | 2 +- lib/std/debug/SelfInfo/Elf.zig | 8 +- lib/std/debug/SelfInfo/MachO.zig | 4 +- lib/std/debug/SelfInfo/Windows.zig | 8 +- lib/std/dynamic_library.zig | 14 +- lib/std/fmt/parse_float/common.zig | 2 +- lib/std/hash/cityhash.zig | 2 +- lib/std/hash/xxhash.zig | 2 +- lib/std/hash_map.zig | 2 +- lib/std/heap/SafeAllocator.zig | 2 +- lib/std/math.zig | 28 +- lib/std/math/acos.zig | 2 +- lib/std/math/asin.zig | 2 +- lib/std/math/big/int.zig | 6 +- lib/std/math/big/int_test.zig | 32 +- lib/std/math/float.zig | 4 +- lib/std/mem.zig | 2 +- lib/std/os/linux/vdso.zig | 8 +- lib/std/os/uefi/status.zig | 2 +- lib/std/unicode.zig | 2 +- lib/std/zig/Ast.zig | 32 ++ lib/std/zig/Ast/Render.zig | 39 ++- lib/std/zig/Parse.zig | 374 ++++++++++++++++++---- lib/std/zig/TokenSmith.zig | 2 +- lib/std/zig/llvm/BitcodeReader.zig | 2 +- lib/std/zig/llvm/Builder.zig | 52 +-- lib/std/zig/llvm/bitcode_writer.zig | 2 +- lib/std/zig/parser_generated_oracle.zig | 544 ++++++++++++++++++++++++++++---- lib/std/zig/parser_test.zig | 48 ++- lib/std/zig/system.zig | 10 +- lib/std/zig/system/windows.zig | 4 +- src/Air.zig | 2 +- src/Compilation.zig | 4 +- src/IncrementalDebugServer.zig | 4 +- src/InternPool.zig | 36 +-- src/Sema.zig | 4 +- src/codegen/aarch64/Assemble.zig | 4 +- src/codegen/aarch64/Disassemble.zig | 8 +- src/codegen/aarch64/Mir.zig | 6 +- src/codegen/aarch64/Select.zig | 8 +- src/codegen/aarch64/encoding.zig | 38 +-- src/codegen/loongarch/Mir.zig | 2 +- src/codegen/riscv64/CodeGen.zig | 4 +- src/codegen/riscv64/encoding.zig | 4 +- src/codegen/sparc64/CodeGen.zig | 4 +- src/codegen/spirv/CodeGen.zig | 2 +- src/codegen/x86_64/CodeGen.zig | 34 +- src/codegen/x86_64/Disassembler.zig | 2 +- src/codegen/x86_64/Emit.zig | 12 +- src/codegen/x86_64/Mir.zig | 2 +- src/codegen/x86_64/bits.zig | 2 +- src/codegen/x86_64/encoder.zig | 28 +- src/fmt.zig | 96 +++++- src/link/Dwarf.zig | 6 +- src/link/Dwarf2.zig | 4 +- src/link/Elf2.zig | 8 +- src/link/MachO/UnwindInfo.zig | 2 +- src/link/MachO/load_commands.zig | 4 +- src/link/Wasm/Flush.zig | 2 +- src/link/riscv.zig | 4 +- src/main.zig | 2 +- test/Runner.zig | 8 +- test/behavior/bitcast.zig | 2 +- test/behavior/error.zig | 2 +- test/behavior/math.zig | 6 +- test/behavior/try.zig | 6 +- test/behavior/x86_64/binary.zig | 4 +- test/behavior/x86_64/cast.zig | 8 +- tools/doctest.zig | 2 +- tools/loongarch/OpcodeDesc.zig | 4 +- 114 files changed, 1588 insertions(+), 508 deletions(-)