xo-expression: initial commit (constant + primitive)

This commit is contained in:
Roland Conybeare 2024-06-13 15:20:36 -04:00
commit 2d94fd51bf
17 changed files with 544 additions and 0 deletions

View file

@ -0,0 +1,32 @@
/** @file Apply.hpp
*
* Author: Roland Conybeare
**/
#pragma once
#include "Expression.hpp"
//#include <cstdint>
namespace xo {
namespace ast {
/** @class Apply
* @brief syntax for a function call.
*
* In general we don't know function to be invoked
* until runtime, depending on the nature of Expression.
*
* For first cut, we'll just handle the case of a Constant
* that refers to a known function
**/
class Apply : public Expression {
ref::rp<Expression> fn_;
std::vector<ref::rp<Expression>> args_;
};
} /*namespace ast*/
} /*namespace xo*/
/** end Apply.hpp **/