ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
preprocessor.generator_mixin Namespace Reference

Classes

class  _GeneratorConsumerScan
class  GeneratorMixin

Functions

 _is_contract_clause_call (expr)
 _is_next_of_name (expr)

Variables

tuple CONTRACT_CLAUSES = ("__ESBMC_requires", "__ESBMC_ensures")
tuple _LOOPS = (ast.For, ast.AsyncFor, ast.While)

Detailed Description

GeneratorMixin — extracted from preprocessor.

Holds the lowering of comprehensions / generator expressions and the
inlining of generator function calls. All shared state lives on
Preprocessor (set in Preprocessor.__init__); this mixin only adds
methods.

Function Documentation

◆ _is_contract_clause_call()

preprocessor.generator_mixin._is_contract_clause_call ( expr)
protected
True for a call to a contract clause intrinsic.

◆ _is_next_of_name()

preprocessor.generator_mixin._is_next_of_name ( expr)
protected
True for `next(g)` on a bare name g.

Variable Documentation

◆ _LOOPS

tuple preprocessor.generator_mixin._LOOPS = (ast.For, ast.AsyncFor, ast.While)
protected

◆ CONTRACT_CLAUSES

tuple preprocessor.generator_mixin.CONTRACT_CLAUSES = ("__ESBMC_requires", "__ESBMC_ensures")