CBMC
statement_list_parse_treet Class Reference

Intermediate representation of a parsed Statement List file before converting it into a goto program. More...

#include <statement_list_parse_tree.h>

+ Collaboration diagram for statement_list_parse_treet:

Classes

struct  function_blockt
 Structure for a simple function block in Statement List. More...
 
struct  functiont
 Structure for a simple function in Statement List. More...
 
struct  instructiont
 Represents a regular Statement List instruction which consists out of one or more codet tokens. More...
 
struct  networkt
 Representation of a network in Siemens TIA. More...
 
struct  tia_modulet
 Base element of all modules in the Totally Integrated Automation (TIA) portal by Siemens. More...
 
struct  var_declarationt
 Struct for a single variable declaration in Statement List. More...
 

Public Types

using var_declarationst = std::list< var_declarationt >
 
using instructionst = std::list< instructiont >
 
using networkst = std::list< networkt >
 
using functionst = std::list< functiont >
 
using function_blockst = std::list< function_blockt >
 

Public Member Functions

void clear ()
 Removes all functions and function blocks from the parse tree. More...
 
void add_function_block (function_blockt &block)
 Adds a function block to the parse tree. More...
 
void add_function (functiont &function)
 Adds a function to the parse tree. More...
 
void swap (statement_list_parse_treet &other)
 Swaps the contents of the parse tree with the parameter. More...
 

Public Attributes

function_blockst function_blocks
 List of function blocks this parse tree includes. More...
 
functionst functions
 List of functions this parse tree includes. More...
 
std::vector< symbol_exprttags
 List of tags that were included in the source. More...
 

Detailed Description

Intermediate representation of a parsed Statement List file before converting it into a goto program.

Contains all data structures that are necessary for describing Statement List functions and function blocks.

Definition at line 23 of file statement_list_parse_tree.h.

Member Typedef Documentation

◆ function_blockst

◆ functionst

Definition at line 145 of file statement_list_parse_tree.h.

◆ instructionst

◆ networkst

Definition at line 78 of file statement_list_parse_tree.h.

◆ var_declarationst

Member Function Documentation

◆ add_function()

void statement_list_parse_treet::add_function ( functiont function)

Adds a function to the parse tree.

Parameters
functionFunction that should be added to the parse tree.

Definition at line 93 of file statement_list_parse_tree.cpp.

◆ add_function_block()

void statement_list_parse_treet::add_function_block ( function_blockt block)

Adds a function block to the parse tree.

Parameters
blockFunction block that should be added to the parse tree.

Definition at line 88 of file statement_list_parse_tree.cpp.

◆ clear()

void statement_list_parse_treet::clear ( void  )

Removes all functions and function blocks from the parse tree.

Definition at line 98 of file statement_list_parse_tree.cpp.

◆ swap()

void statement_list_parse_treet::swap ( statement_list_parse_treet other)

Swaps the contents of the parse tree with the parameter.

Parameters
otherParse tree that should be used in the swap operation.

Definition at line 105 of file statement_list_parse_tree.cpp.

Member Data Documentation

◆ function_blocks

function_blockst statement_list_parse_treet::function_blocks

List of function blocks this parse tree includes.

Definition at line 176 of file statement_list_parse_tree.h.

◆ functions

functionst statement_list_parse_treet::functions

List of functions this parse tree includes.

Definition at line 178 of file statement_list_parse_tree.h.

◆ tags

std::vector<symbol_exprt> statement_list_parse_treet::tags

List of tags that were included in the source.

Definition at line 180 of file statement_list_parse_tree.h.


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