Parser improvements: - Added expression statement fallback in parse_statement() for flexible syntax - Fixed ternary operator to use PeekExpr instead of If AST (better lowering) - Added peek_token() check to avoid ?/?: operator conflicts LLVM Python improvements: - Added optional ESC_JSON_FIX environment flag for string concatenation - Improved PHI generation with better default handling - Enhanced substring tracking for esc_json pattern Documentation updates: - Updated language guide with peek expression examples - Added box theory diagrams to Phase 15 planning - Clarified peek vs when syntax differences These changes enable cleaner parser implementation for self-hosting, especially for handling digit conversion with peek expressions instead of 19-line if-else chains. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
12 lines
213 B
Plaintext
12 lines
213 B
Plaintext
static box Main {
|
|
main(args) {
|
|
local d = "1"
|
|
local dv = peek d {
|
|
"0" => { print("found zero") 0 }
|
|
"1" => { print("found one") 1 }
|
|
else => { print("other") 0 }
|
|
}
|
|
return dv
|
|
}
|
|
}
|