From 4cd58b04436088d08f93545bb107136ecd20e1b5 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 28 Jul 2025 15:16:11 -0400 Subject: [PATCH] minor logging adds --- include/xo/reader/parser.hpp | 1 + src/reader/exprstate.cpp | 3 +-- src/reader/lambda_xs.cpp | 4 +++- src/reader/reader.cpp | 5 +++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/include/xo/reader/parser.hpp b/include/xo/reader/parser.hpp index d13f36ed..952fa9d6 100644 --- a/include/xo/reader/parser.hpp +++ b/include/xo/reader/parser.hpp @@ -54,6 +54,7 @@ namespace xo { * * deftype point :: {x : f64, y : f64}; * deftype polar :: {arg : f64, mag : f64}; + * deftype converter :: (point -> polar); * * def polar2rect(pt : polar) -> point { * point(x = pt.mag * cos(arg), diff --git a/src/reader/exprstate.cpp b/src/reader/exprstate.cpp index cbcc3560..476c6420 100644 --- a/src/reader/exprstate.cpp +++ b/src/reader/exprstate.cpp @@ -221,8 +221,7 @@ namespace xo { exprstate::on_leftparen_token(const token_type & tk, parserstatemachine * p_psm) { - constexpr bool c_debug_flag = true; - scope log(XO_DEBUG(c_debug_flag)); + scope log(XO_DEBUG(p_psm->debug_flag())); constexpr const char * c_self_name = "exprstate::on_leftparen_token"; const char * exp = get_expect_str(); diff --git a/src/reader/lambda_xs.cpp b/src/reader/lambda_xs.cpp index 89e2f972..eb54ea62 100644 --- a/src/reader/lambda_xs.cpp +++ b/src/reader/lambda_xs.cpp @@ -7,6 +7,8 @@ #include "expect_formal_arglist_xs.hpp" #include "expect_expr_xs.hpp" #include "expect_type_xs.hpp" +#include "pretty_expression.hpp" +#include "pretty_variable.hpp" #include "xo/expression/Lambda.hpp" namespace xo { @@ -198,7 +200,7 @@ namespace xo { if (def_var->valuetype() == nullptr) { log && log("assign discovered lambda type T to enclosing define", - xtag("lhs", def_var), + xtag("lhs", def_var.get()), xtag("T", print::unq(this->lambda_td_->canonical_name()))); def_var->assign_valuetype(lambda_td_); diff --git a/src/reader/reader.cpp b/src/reader/reader.cpp index 2a615fd9..5889462a 100644 --- a/src/reader/reader.cpp +++ b/src/reader/reader.cpp @@ -56,9 +56,14 @@ namespace xo { expr_span += used_span; if (tk.is_valid()) { + log && log("input_state.current_line", tokenizer_.input_state().current_line()); + /* forward just-read token to parser */ auto parser_result = this->parser_.include_token(tk); + log && log("after parser.include_token"); + log && log("input_state.current_line", tokenizer_.input_state().current_line()); + if (parser_result.is_expression()) { log && log(xtag("outcome", "victory!"), xtag("expr", parser_result.result_expr()));