|
import re |
|
from collections.abc import Callable, Iterable, Mapping |
|
from typing import IO, Any, Concatenate, Final, Never, ParamSpec, TypeAlias, overload |
|
from typing import Literal as L |
|
|
|
from _typeshed import StrOrBytesPath, StrPath |
|
|
|
from .__version__ import version |
|
from .auxfuncs import isintent_dict as isintent_dict |
|
|
|
### |
|
|
|
_Tss = ParamSpec("_Tss") |
|
|
|
_VisitResult: TypeAlias = list[Any] | dict[str, Any] | None |
|
_VisitItem: TypeAlias = tuple[str | None, _VisitResult] |
|
_VisitFunc: TypeAlias = Callable[Concatenate[_VisitItem, list[_VisitItem], _VisitResult, _Tss], _VisitItem | None] |
|
|
|
### |
|
|
|
COMMON_FREE_EXTENSIONS: Final[list[str]] = ... |
|
COMMON_FIXED_EXTENSIONS: Final[list[str]] = ... |
|
|
|
f2py_version: Final = version |
|
tabchar: Final[str] = " " |
|
|
|
f77modulename: str |
|
pyffilename: str |
|
sourcecodeform: L["fix", "gree"] |
|
strictf77: L[0, 1] |
|
quiet: L[0, 1] |
|
verbose: L[0, 1, 2] |
|
skipemptyends: L[0, 1] |
|
ignorecontains: L[1] |
|
dolowercase: L[1] |
|
|
|
beginpattern: str | re.Pattern[str] |
|
currentfilename: str |
|
filepositiontext: str |
|
expectbegin: L[0, 1] |
|
gotnextfile: L[0, 1] |
|
neededmodule: int |
|
skipblocksuntil: int |
|
groupcounter: int |
|
groupname: dict[int, str] | str |
|
groupcache: dict[int, dict[str, Any]] | None |
|
grouplist: dict[int, list[dict[str, Any]]] | None |
|
previous_context: tuple[str, str, int] | None |
|
|
|
f90modulevars: dict[str, dict[str, Any]] = {} |
|
debug: list[Never] = [] |
|
include_paths: list[str] = [] |
|
onlyfuncs: list[str] = [] |
|
skipfuncs: list[str] = [] |
|
skipfunctions: Final[list[str]] = [] |
|
usermodules: Final[list[dict[str, Any]]] = [] |
|
|
|
defaultimplicitrules: Final[dict[str, dict[str, str]]] = {} |
|
badnames: Final[dict[str, str]] = {} |
|
invbadnames: Final[dict[str, str]] = {} |
|
|
|
beforethisafter: Final[str] = ... |
|
fortrantypes: Final[str] = ... |
|
groupbegins77: Final[str] = ... |
|
groupbegins90: Final[str] = ... |
|
groupends: Final[str] = ... |
|
endifs: Final[str] = ... |
|
moduleprocedures: Final[str] = ... |
|
|
|
beginpattern77: Final[tuple[re.Pattern[str], L["begin"]]] = ... |
|
beginpattern90: Final[tuple[re.Pattern[str], L["begin"]]] = ... |
|
callpattern: Final[tuple[re.Pattern[str], L["call"]]] = ... |
|
callfunpattern: Final[tuple[re.Pattern[str], L["callfun"]]] = ... |
|
commonpattern: Final[tuple[re.Pattern[str], L["common"]]] = ... |
|
containspattern: Final[tuple[re.Pattern[str], L["contains"]]] = ... |
|
datapattern: Final[tuple[re.Pattern[str], L["data"]]] = ... |
|
dimensionpattern: Final[tuple[re.Pattern[str], L["dimension"]]] = ... |
|
endifpattern: Final[tuple[re.Pattern[str], L["endif"]]] = ... |
|
endpattern: Final[tuple[re.Pattern[str], L["end"]]] = ... |
|
entrypattern: Final[tuple[re.Pattern[str], L["entry"]]] = ... |
|
externalpattern: Final[tuple[re.Pattern[str], L["external"]]] = ... |
|
f2pyenhancementspattern: Final[tuple[re.Pattern[str], L["f2pyenhancements"]]] = ... |
|
formatpattern: Final[tuple[re.Pattern[str], L["format"]]] = ... |
|
functionpattern: Final[tuple[re.Pattern[str], L["begin"]]] = ... |
|
implicitpattern: Final[tuple[re.Pattern[str], L["implicit"]]] = ... |
|
intentpattern: Final[tuple[re.Pattern[str], L["intent"]]] = ... |
|
intrinsicpattern: Final[tuple[re.Pattern[str], L["intrinsic"]]] = ... |
|
optionalpattern: Final[tuple[re.Pattern[str], L["optional"]]] = ... |
|
moduleprocedurepattern: Final[tuple[re.Pattern[str], L["moduleprocedure"]]] = ... |
|
multilinepattern: Final[tuple[re.Pattern[str], L["multiline"]]] = ... |
|
parameterpattern: Final[tuple[re.Pattern[str], L["parameter"]]] = ... |
|
privatepattern: Final[tuple[re.Pattern[str], L["private"]]] = ... |
|
publicpattern: Final[tuple[re.Pattern[str], L["public"]]] = ... |
|
requiredpattern: Final[tuple[re.Pattern[str], L["required"]]] = ... |
|
subroutinepattern: Final[tuple[re.Pattern[str], L["begin"]]] = ... |
|
typespattern: Final[tuple[re.Pattern[str], L["type"]]] = ... |
|
usepattern: Final[tuple[re.Pattern[str], L["use"]]] = ... |
|
|
|
analyzeargs_re_1: Final[re.Pattern[str]] = ... |
|
callnameargspattern: Final[re.Pattern[str]] = ... |
|
charselector: Final[re.Pattern[str]] = ... |
|
crackline_bind_1: Final[re.Pattern[str]] = ... |
|
crackline_bindlang: Final[re.Pattern[str]] = ... |
|
crackline_re_1: Final[re.Pattern[str]] = ... |
|
determineexprtype_re_1: Final[re.Pattern[str]] = ... |
|
determineexprtype_re_2: Final[re.Pattern[str]] = ... |
|
determineexprtype_re_3: Final[re.Pattern[str]] = ... |
|
determineexprtype_re_4: Final[re.Pattern[str]] = ... |
|
determineexprtype_re_5: Final[re.Pattern[str]] = ... |
|
getlincoef_re_1: Final[re.Pattern[str]] = ... |
|
kindselector: Final[re.Pattern[str]] = ... |
|
lenarraypattern: Final[re.Pattern[str]] = ... |
|
lenkindpattern: Final[re.Pattern[str]] = ... |
|
namepattern: Final[re.Pattern[str]] = ... |
|
nameargspattern: Final[re.Pattern[str]] = ... |
|
operatorpattern: Final[re.Pattern[str]] = ... |
|
real16pattern: Final[re.Pattern[str]] = ... |
|
real8pattern: Final[re.Pattern[str]] = ... |
|
selectpattern: Final[re.Pattern[str]] = ... |
|
typedefpattern: Final[re.Pattern[str]] = ... |
|
typespattern4implicit: Final[re.Pattern[str]] = ... |
|
word_pattern: Final[re.Pattern[str]] = ... |
|
|
|
post_processing_hooks: Final[list[_VisitFunc[...]]] = [] |
|
|
|
# |
|
def outmess(line: str, flag: int = 1) -> None: ... |
|
def reset_global_f2py_vars() -> None: ... |
|
|
|
# |
|
def rmbadname1(name: str) -> str: ... |
|
def undo_rmbadname1(name: str) -> str: ... |
|
def rmbadname(names: Iterable[str]) -> list[str]: ... |
|
def undo_rmbadname(names: Iterable[str]) -> list[str]: ... |
|
|
|
# |
|
def openhook(filename: StrPath, mode: str) -> IO[Any]: ... |
|
def is_free_format(fname: StrPath) -> bool: ... |
|
def readfortrancode( |
|
ffile: StrOrBytesPath | Iterable[StrOrBytesPath], |
|
dowithline: Callable[[str, int], object] = ..., |
|
istop: int = 1, |
|
) -> None: ... |
|
|
|
# |
|
def split_by_unquoted(line: str, characters: str) -> tuple[str, str]: ... |
|
|
|
# |
|
def crackline(line: str, reset: int = 0) -> None: ... |
|
def markouterparen(line: str) -> str: ... |
|
def markoutercomma(line: str, comma: str = ",") -> str: ... |
|
def unmarkouterparen(line: str) -> str: ... |
|
def appenddecl(decl: Mapping[str, object] | None, decl2: Mapping[str, object] | None, force: int = 1) -> dict[str, Any]: ... |
|
|
|
# |
|
def parse_name_for_bind(line: str) -> tuple[str, str | None]: ... |
|
def analyzeline(m: re.Match[str], case: str, line: str) -> None: ... |
|
def appendmultiline(group: dict[str, Any], context_name: str, ml: str) -> None: ... |
|
def cracktypespec0(typespec: str, ll: str | None) -> tuple[str, str | None, str | None, str | None]: ... |
|
|
|
# |
|
def removespaces(expr: str) -> str: ... |
|
def markinnerspaces(line: str) -> str: ... |
|
def updatevars(typespec: str, selector: str | None, attrspec: str, entitydecl: str) -> str: ... |
|
def cracktypespec(typespec: str, selector: str | None) -> tuple[dict[str, str] | None, dict[str, str] | None, str | None]: ... |
|
|
|
# |
|
def setattrspec(decl: dict[str, list[str]], attr: str | None, force: int = 0) -> dict[str, list[str]]: ... |
|
def setkindselector(decl: dict[str, dict[str, str]], sel: dict[str, str], force: int = 0) -> dict[str, dict[str, str]]: ... |
|
def setcharselector(decl: dict[str, dict[str, str]], sel: dict[str, str], force: int = 0) -> dict[str, dict[str, str]]: ... |
|
def getblockname(block: Mapping[str, object], unknown: str = "unknown") -> str: ... |
|
def setmesstext(block: Mapping[str, object]) -> None: ... |
|
def get_usedict(block: Mapping[str, object]) -> dict[str, str]: ... |
|
def get_useparameters(block: Mapping[str, object], param_map: Mapping[str, str] | None = None) -> dict[str, str]: ... |
|
|
|
# |
|
@overload |
|
def postcrack2( |
|
block: dict[str, Any], |
|
tab: str = "", |
|
param_map: Mapping[str, str] | None = None, |
|
) -> dict[str, str | Any]: ... |
|
@overload |
|
def postcrack2( |
|
block: list[dict[str, Any]], |
|
tab: str = "", |
|
param_map: Mapping[str, str] | None = None, |
|
) -> list[dict[str, str | Any]]: ... |
|
|
|
# |
|
@overload |
|
def postcrack(block: dict[str, Any], args: Mapping[str, str] | None = None, tab: str = "") -> dict[str, Any]: ... |
|
@overload |
|
def postcrack(block: list[dict[str, str]], args: Mapping[str, str] | None = None, tab: str = "") -> list[dict[str, Any]]: ... |
|
|
|
# |
|
def sortvarnames(vars: Mapping[str, object]) -> list[str]: ... |
|
def analyzecommon(block: Mapping[str, object]) -> dict[str, Any]: ... |
|
def analyzebody(block: Mapping[str, object], args: Mapping[str, str], tab: str = "") -> list[dict[str, Any]]: ... |
|
def buildimplicitrules(block: Mapping[str, object]) -> tuple[dict[str, dict[str, str]], dict[str, str]]: ... |
|
def myeval(e: str, g: object | None = None, l: object | None = None) -> float: ... |
|
|
|
# |
|
def getlincoef(e: str, xset: set[str]) -> tuple[float | None, float | None, str | None]: ... |
|
|
|
# |
|
def get_sorted_names(vars: Mapping[str, Mapping[str, str]]) -> list[str]: ... |
|
def get_parameters(vars: Mapping[str, Mapping[str, str]], global_params: dict[str, str] = {}) -> dict[str, str]: ... |
|
|
|
# |
|
def analyzevars(block: Mapping[str, Any]) -> dict[str, dict[str, str]]: ... |
|
|
|
# |
|
def param_eval(v: str, g_params: dict[str, Any], params: Mapping[str, object], dimspec: str | None = None) -> dict[str, Any]: ... |
|
def param_parse(d: str, params: Mapping[str, str]) -> str: ... |
|
def expr2name(a: str, block: Mapping[str, object], args: list[str] = []) -> str: ... |
|
def analyzeargs(block: Mapping[str, object]) -> dict[str, Any]: ... |
|
|
|
# |
|
def determineexprtype(expr: str, vars: Mapping[str, object], rules: dict[str, Any] = {}) -> dict[str, Any]: ... |
|
def crack2fortrangen(block: Mapping[str, object], tab: str = "\n", as_interface: bool = False) -> str: ... |
|
def common2fortran(common: Mapping[str, object], tab: str = "") -> str: ... |
|
def use2fortran(use: Mapping[str, object], tab: str = "") -> str: ... |
|
def true_intent_list(var: dict[str, list[str]]) -> list[str]: ... |
|
def vars2fortran( |
|
block: Mapping[str, Mapping[str, object]], |
|
vars: Mapping[str, object], |
|
args: Mapping[str, str], |
|
tab: str = "", |
|
as_interface: bool = False, |
|
) -> str: ... |
|
|
|
# |
|
def crackfortran(files: StrOrBytesPath | Iterable[StrOrBytesPath]) -> list[dict[str, Any]]: ... |
|
def crack2fortran(block: Mapping[str, Any]) -> str: ... |
|
|
|
# |
|
def traverse( |
|
obj: tuple[str | None, _VisitResult], |
|
visit: _VisitFunc[_Tss], |
|
parents: list[tuple[str | None, _VisitResult]] = [], |
|
result: list[Any] | dict[str, Any] | None = None, |
|
*args: _Tss.args, |
|
**kwargs: _Tss.kwargs, |
|
) -> _VisitItem | _VisitResult: ... |
|
|
|
# |
|
def character_backward_compatibility_hook( |
|
item: _VisitItem, |
|
parents: list[_VisitItem], |
|
result: object, # ignored |
|
*args: object, # ignored |
|
**kwargs: object, # ignored |
|
) -> _VisitItem | None: ... |
|
|
|
# namespace pollution |
|
c: str |
|
n: str |
|
|