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

Classes

class  ImportResolverLike
class  ThreadingLoweringLike
class  CliDeps
class  _ResolverCallbacksDeps

Functions

ast.Module _read_ast_from_file (str filename)
None check_usage ()
None check_dependencies ()
None select_threading_model (str output_dir, bool deadlock_check)
None _emit_model_jsons (str output_dir, *, ImportResolverLike import_resolver, GenerateAstJsonFn generate_ast_json_fn)
int|None main (*, CliDeps deps)

Variables

TypeAlias RunMypyStrictFn = Callable[[str], tuple[int, str]]
TypeAlias ParseFileCanonicalisedFn = Callable[[str], tuple[ast.AST, object]]
TypeAlias GenerateAstJsonFn = Callable[[ast.AST, str, object, str], None]
TypeAlias AnnotateConstantFn = Callable[[ast.AST], None]
TypeAlias AddTypeAnnotationFn = Callable[[ast.Assign], None]
TypeAlias SnapshotExportsFn = Callable[[object], tuple[set[str], dict[str, str], set[str] | None]]
TypeAlias ComputeRangeSeedFn = Callable[[ast.Module, object], tuple[set[str], dict[str, str]]]
TypeAlias PropagateRangeAliasesFn = Callable[[dict, object], None]
TypeAlias RewriteReFn = Callable[[ast.Module], None]
tuple _FLAGS = ("--deadlock-check", "--typecheck")

Detailed Description

CLI orchestration for the Python parser frontend.

Function Documentation

◆ _emit_model_jsons()

None parser.parser_cli._emit_model_jsons ( str output_dir,
* ,
ImportResolverLike import_resolver,
GenerateAstJsonFn generate_ast_json_fn )
protected
Generate AST JSON for each memory-model module in ``output_dir/models``.

◆ _read_ast_from_file()

ast.Module parser.parser_cli._read_ast_from_file ( str filename)
protected
Read and parse a Python source file into an AST module.

◆ check_dependencies()

None parser.parser_cli.check_dependencies ( )
Warn when optional tools for richer diagnostics are missing.

◆ check_usage()

None parser.parser_cli.check_usage ( )
Validate CLI args and fail with usage message when invalid.

◆ main()

int | None parser.parser_cli.main ( * ,
CliDeps deps )
Run parser CLI orchestration with explicit dependency injection.

◆ select_threading_model()

None parser.parser_cli.select_threading_model ( str output_dir,
bool deadlock_check )
Activate deadlock threading model variant when requested.

Variable Documentation

◆ _FLAGS

tuple parser.parser_cli._FLAGS = ("--deadlock-check", "--typecheck")
protected

◆ AddTypeAnnotationFn

TypeAlias parser.parser_cli.AddTypeAnnotationFn = Callable[[ast.Assign], None]

◆ AnnotateConstantFn

TypeAlias parser.parser_cli.AnnotateConstantFn = Callable[[ast.AST], None]

◆ ComputeRangeSeedFn

TypeAlias parser.parser_cli.ComputeRangeSeedFn = Callable[[ast.Module, object], tuple[set[str], dict[str, str]]]

◆ GenerateAstJsonFn

TypeAlias parser.parser_cli.GenerateAstJsonFn = Callable[[ast.AST, str, object, str], None]

◆ ParseFileCanonicalisedFn

TypeAlias parser.parser_cli.ParseFileCanonicalisedFn = Callable[[str], tuple[ast.AST, object]]

◆ PropagateRangeAliasesFn

TypeAlias parser.parser_cli.PropagateRangeAliasesFn = Callable[[dict, object], None]

◆ RewriteReFn

TypeAlias parser.parser_cli.RewriteReFn = Callable[[ast.Module], None]

◆ RunMypyStrictFn

TypeAlias parser.parser_cli.RunMypyStrictFn = Callable[[str], tuple[int, str]]

◆ SnapshotExportsFn

TypeAlias parser.parser_cli.SnapshotExportsFn = Callable[[object], tuple[set[str], dict[str, str], set[str] | None]]