xo-interpreter2 stack: scaffold DClosure, DLocalEnv [WIP]
This commit is contained in:
parent
5d070f4e98
commit
4278ea726a
4 changed files with 28 additions and 1 deletions
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
13
include/xo/expression2/LambdaExpr.hpp
Normal file
13
include/xo/expression2/LambdaExpr.hpp
Normal 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 */
|
||||
12
include/xo/expression2/LocalSymtab.hpp
Normal file
12
include/xo/expression2/LocalSymtab.hpp
Normal 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 */
|
||||
Loading…
Add table
Add a link
Reference in a new issue