xo-interpreter2 stack: scaffold DClosure, DLocalEnv [WIP]

This commit is contained in:
Roland Conybeare 2026-02-04 19:17:07 -05:00
commit 4278ea726a
4 changed files with 28 additions and 1 deletions

View file

@ -23,6 +23,7 @@ namespace xo {
using AAllocator = xo::mm::AAllocator;
using TypeDescr = xo::reflect::TypeDescr;
using ppindentinfo = xo::print::ppindentinfo;
using size_type = DLocalSymtab::size_type;
public:
@ -60,6 +61,7 @@ namespace xo {
///@{
DLocalSymtab * local_symtab() const noexcept { return local_symtab_; }
size_type n_args() const noexcept { return local_symtab_->size(); }
// get_free_variables()
// visit_preorder()

View file

@ -101,7 +101,7 @@ namespace xo {
private:
/** parent symbol table from scoping surrounding this one **/
DLocalSymtab * parent_ = nullptr;
/** actual range of slots_[] array. Can use inices in [0,..,n) **/
/** actual range of slots_[] array. Can use indices in [0,..,n) **/
size_type capacity_ = 0;
/** number of slots in use **/
size_type size_ = 0;

View file

@ -0,0 +1,13 @@
/** @file LambdaExpr.hpp
*
* @author Roland Conybeare, Feb 2026
**/
#pragma once
#include "DLambdaExpr.hpp"
#include "detail/IExpression_DLambdaExpr.hpp"
//#include "detail/IGCObject_DLambdaExpr.hpp"
#include "detail/IPrintable_DLambdaExpr.hpp"
/* end LambdaExpr.hpp */

View file

@ -0,0 +1,12 @@
/** @file LocalSymtab.hpp
*
* @author Roland Conybeare, Feb 2026
**/
#pragma once
#include "DLocalSymtab.hpp"
#include "symtab/ISymbolTable_DLocalSymtab.hpp"
#include "symtab/IPrintable_DLocalSymtab.hpp"
/* end LocalSymtab.hpp */