MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
Loading...
Searching...
No Matches
pascal::StdFunctionHandler Class Reference

Built-in handler for standard library functions (chr, ord, inc, dec, etc.). More...

#include <icode.hpp>

Inheritance diagram for pascal::StdFunctionHandler:

Public Member Functions

bool canHandle (const std::string &funcName) const override
 Return true if this handler implements funcName.
void generate (CodeGenVisitor &visitor, const std::string &funcName, const std::vector< std::unique_ptr< ASTNode > > &arguments) override
 Emit code for a procedure-style call (no return value used).
bool generateWithResult (CodeGenVisitor &visitor, const std::string &funcName, const std::vector< std::unique_ptr< ASTNode > > &arguments) override
 Emit code for a function-style call (result pushed on eval stack); return true if handled.
Public Member Functions inherited from pascal::BuiltinFunctionHandler
virtual ~BuiltinFunctionHandler ()=default
virtual VarType getReturnType (const std::string &funcName) const
 Return the VarType produced by funcName.

Detailed Description

Built-in handler for standard library functions (chr, ord, inc, dec, etc.).

Definition at line 139 of file icode.hpp.

Member Function Documentation

◆ canHandle()

bool pascal::StdFunctionHandler::canHandle ( const std::string & funcName) const
overridevirtual

Return true if this handler implements funcName.

Implements pascal::BuiltinFunctionHandler.

Definition at line 224 of file icode_imp.cpp.

References pascal::stdFunctions, and pascal::toLower().

◆ generate()

void pascal::StdFunctionHandler::generate ( CodeGenVisitor & visitor,
const std::string & funcName,
const std::vector< std::unique_ptr< ASTNode > > & arguments )
overridevirtual

◆ generateWithResult()


The documentation for this class was generated from the following files: