chc.api.STerm

Base class and subclasses:

chc.api.STerm.STerm(ifd, ixval)

chc.api.STerm.STArgValue(cd, ixval)

Argument value passed to a function.

chc.api.STerm.STLocalVariable(ifd, ixval)

Local variable used in external predicate.

chc.api.STerm.STReturnValue(ifd, ixval)

Return value, as used in post conditions.

chc.api.STerm.STNamedConstant(ifd, ixval)

Named constant with unspecified value.

chc.api.STerm.STNumConstant(ifd, ixval)

Constant with given numerical value.

chc.api.STerm.STIndexSize(ifd, ixval)

Size term expressed in units of array index.

chc.api.STerm.STByteSize(ifd, ixval)

Size term expressed in bytes.

chc.api.STerm.STArgAddressedValue(ifd, ixval)

The value addressed by an argument.

chc.api.STerm.STArgNullTerminatorPos(ifd, ixval)

The position of the null-terminator in a string term.

chc.api.STerm.STArgSizeOfType(ifd, ixval)

Size of argument type, in bytes.

chc.api.STerm.STArithmeticExpr(ifd, ixval)

Binary arithmetic expression on terms.

chc.api.STerm.STFormattedOutputSize(ifd, ixval)

The size of a string formed via a format string.

chc.api.STerm.STRegion(ifd, ixval)

A memory region.

chc.api.STerm.STRuntimeValue(ifd, ixval)

A value that is determined at runtime.

chc.api.STerm.STChoiceValue(ifd, ixval)

Any value between an optional lowerbound and upperbound.

Object representation of sum type s_term (term in an external predicate).

Object representation of the corresponding OCaml sumtype: s_term_t: a term that solely refers to entities that are visible outside of a function, such as its parameters or return value.

The properties of a term are constructed from its indexed value in the InterfaceDictionary.

class chc.api.STerm.STArgAddressedValue(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

The value addressed by an argument.

  • args[0]: index of term in interface dictionary

  • args[1]: index of term offset in interface dictionary

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_arg_addressed_value: bool
property offset: SOffset
property term: chc.api.STerm.STerm
class chc.api.STerm.STArgNullTerminatorPos(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

The position of the null-terminator in a string term.

  • args[0]: index of term in interface dictionary

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_arg_null_terminator_pos: bool
property term: chc.api.STerm.STerm
class chc.api.STerm.STArgSizeOfType(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Size of argument type, in bytes.

  • args[0]: index of term in interface dictionary

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_arg_size_of_type: bool
property term: chc.api.STerm.STerm
class chc.api.STerm.STArgValue(cd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Argument value passed to a function.

  • args[0]: index of api parameter in interface dictionary

  • args[1]: index of s_term offset in interface dictionary

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
is_arg_value() bool[source]
property offset: SOffset
property parameter: ApiParameter
class chc.api.STerm.STArithmeticExpr(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Binary arithmetic expression on terms.

  • tags[1]: binary operator

  • args[0]: index of first term in interface dictionary

  • args[1]: index of second term in interface dictionary

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_arithmetic_expr: bool
property op: str
pretty() str[source]
property term1: chc.api.STerm.STerm
property term2: chc.api.STerm.STerm
class chc.api.STerm.STByteSize(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Size term expressed in bytes.

  • args[0]: index of term in interface dictionary

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_byte_size: bool
property term: chc.api.STerm.STerm
class chc.api.STerm.STChoiceValue(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Any value between an optional lowerbound and upperbound.

  • args[0]: index of optional lower bound in interface dictionary

  • args[1]: index of optional upper bound in interface dictionary

property is_choice_value: bool
property termlb: Optional[chc.api.STerm.STerm]
property termub: Optional[chc.api.STerm.STerm]
class chc.api.STerm.STFormattedOutputSize(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

The size of a string formed via a format string.

  • args[0]: index of term in interface dictionary

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_formatted_output_size: bool
property term: chc.api.STerm.STerm
class chc.api.STerm.STIndexSize(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Size term expressed in units of array index.

For example, an index-size of 1 corresponds to 4 bytes in an int-array.

  • args[0]: index of term in interface dictionary

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_index_size: bool
property term: chc.api.STerm.STerm
class chc.api.STerm.STLocalVariable(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Local variable used in external predicate.

  • tags[1]: name

property is_local_var: bool
property name: str
class chc.api.STerm.STNamedConstant(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Named constant with unspecified value.

  • tags[1]: name

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_named_constant: bool
property name: str
class chc.api.STerm.STNumConstant(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Constant with given numerical value.

property constantvalue: int
get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_num_constant: bool
pretty() str[source]
class chc.api.STerm.STRegion(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

A memory region.

  • args[0]: index of term in interface dictionary

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_region: bool
property term: chc.api.STerm.STerm
class chc.api.STerm.STReturnValue(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

Return value, as used in post conditions.

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_return_value: bool
class chc.api.STerm.STRuntimeValue(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.STerm.STerm

A value that is determined at runtime.

get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_runtime_value: bool
class chc.api.STerm.STerm(ifd: InterfaceDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]

Bases: chc.api.InterfaceDictionaryRecord.InterfaceDictionaryRecord

get_iterm(argix: int) chc.api.STerm.STerm[source]
get_mathml_node(signature: List[str]) xml.etree.ElementTree.Element[source]
property is_arg_addressed_value: bool
property is_arg_null_terminator_pos: bool
property is_arg_size_of_type: bool
property is_arg_value: bool
property is_arithmetic_expr: bool
property is_byte_size: bool
property is_choice_value: bool
property is_formatted_output_size: bool
property is_index_size: bool
property is_local_var: bool
property is_named_constant: bool
property is_num_constant: bool
property is_region: bool
property is_return_value: bool
property is_runtime_value: bool
pretty() str[source]
chc.api.STerm.get_printop(s: str) str[source]