AutoPas  3.0.0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
autopas::RuleSyntax::Literal Struct Reference

A literal in the rule language. More...

#include <RuleBasedProgramTree.h>

Inheritance diagram for autopas::RuleSyntax::Literal:
Inheritance graph
[legend]
Collaboration diagram for autopas::RuleSyntax::Literal:
Collaboration graph
[legend]

Public Member Functions

 Literal (RuleVM::MemoryCell value)
 Constructs a literal from a MemoryCell.
 
Type getType () const override
 
void generateCode (CodeGenerationContext &context, RuleVM::Program &program) const override
 Generates code for evaluating this expression at runtime.
 
- Public Member Functions inherited from autopas::RuleSyntax::Expression
virtual ~Expression ()=default
 Virtual default constructor.
 
virtual Type getType () const =0
 
virtual void generateCode (CodeGenerationContext &context, RuleVM::Program &program) const =0
 Generates code for evaluating this expression at runtime.
 

Public Attributes

RuleVM::MemoryCell value
 The value of the literal.
 
Type type
 The type of the literal in AST.
 

Detailed Description

A literal in the rule language.

Constructor & Destructor Documentation

◆ Literal()

autopas::RuleSyntax::Literal::Literal ( RuleVM::MemoryCell  value)
explicit

Constructs a literal from a MemoryCell.

Parameters
valueThe memory cell to construct from.

Member Function Documentation

◆ generateCode()

void autopas::RuleSyntax::Literal::generateCode ( CodeGenerationContext context,
RuleVM::Program program 
) const
overridevirtual

Generates code for evaluating this expression at runtime.

Value is put on top of the stack. May consume part of the stack.

Parameters
contextThe context to generate the code in.
programThe program to append the code to.

Implements autopas::RuleSyntax::Expression.

◆ getType()

Type autopas::RuleSyntax::Literal::getType ( ) const
overridevirtual
Returns
the type of the literal.

Implements autopas::RuleSyntax::Expression.


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