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

Built-in handler for Pascal file I/O procedures (assign, reset, rewrite, append, close, eof, eoln). More...

#include <icode.hpp>

Inheritance diagram for pascal::FileFunctionHandler:

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.
VarType getReturnType (const std::string &funcName) const override
 Return the VarType produced by funcName.
Public Member Functions inherited from pascal::BuiltinFunctionHandler
virtual ~BuiltinFunctionHandler ()=default

Detailed Description

Built-in handler for Pascal file I/O procedures (assign, reset, rewrite, append, close, eof, eoln).

Definition at line 163 of file icode.hpp.

Member Function Documentation

◆ canHandle()

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

Return true if this handler implements funcName.

Implements pascal::BuiltinFunctionHandler.

Definition at line 988 of file icode_imp.cpp.

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

◆ generate()

◆ generateWithResult()

bool pascal::FileFunctionHandler::generateWithResult ( CodeGenVisitor & visitor,
const std::string & funcName,
const std::vector< std::unique_ptr< ASTNode > > & arguments )
overridevirtual

◆ getReturnType()

VarType pascal::FileFunctionHandler::getReturnType ( const std::string & funcName) const
overridevirtual

Return the VarType produced by funcName.

Reimplemented from pascal::BuiltinFunctionHandler.

Definition at line 1097 of file icode_imp.cpp.

References pascal::INT, pascal::toLower(), and pascal::UNKNOWN.


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