5.1.1.2.1.3.1.2. pycropml.transpiler.rules.fortranRules module

class pycropml.transpiler.rules.fortranRules.FortranRules[source]

Bases: pycropml.transpiler.rules.generalRule.GeneralRule

binary_op = {'!=': '.NE.', '*': '*', '**': '**', '+': '+', '-': '-', '/': '/', '<': '.LT.', '<=': '.LE.', '==': '.EQ.', '>': '.GT.', '>=': '.GE.', 'and': '.AND.', 'not': '.NOT..', 'or': '.OR.'}
functions = {'datetime': {'datetime': <function FortranRules.<lambda>>}, 'math': {'acos': 'ACOS', 'asin': 'ASIN', 'atan': 'ATAN', 'ceil': <function translateCeil>, 'cos': 'COS', 'exp': 'EXP', 'ln': 'LOG', 'log': 'LOG', 'pow': <function translatePow>, 'sin': 'SIN', 'sqrt': 'SQRT', 'tan': 'TAN'}, 'system': {'abs': 'ABS', 'max': 'MAX', 'min': 'MIN', 'modulo': 'modulo', 'pow': <function translatePow>, 'round': 'Round'}}
method()[source]
methods = {'array': {'append': <function FortranRules.<lambda>>, 'len': 'SIZE'}, 'dict': {'len': 'SIZE'}, 'float': {'int': 'INT'}, 'int': {'float': 'REAL'}, 'list': {'append': <function translateAppend>, 'contains?': <function translateContains>, 'index': <function translateIndex>, 'len': 'SIZE', 'not contains?': <function translateNotContains>, 'pop': <function translatePop>, 'sum': 'sum'}, 'str': {'find': <function translateFind>, 'int': 'INT'}}

dependencies = {

‘list’: {
‘index’: ‘list_sub’, ‘append’: ‘list_sub’

}

}

types = {'array': '%s, DIMENSION(%s)', 'bool': 'LOGICAL', 'datetime': 'CHARACTER(65)', 'float': 'REAL', 'int': 'INTEGER', 'list': '%s,DIMENSION (:), ALLOCATABLE::', 'str': 'CHARACTER(65)'}
unary_op = {'+': '+', '-': '-', 'not': '.NOT. ', '~': '~'}
pycropml.transpiler.rules.fortranRules.argsToStr(args)[source]
pycropml.transpiler.rules.fortranRules.translateAppend(node)[source]
pycropml.transpiler.rules.fortranRules.translateCeil(node)[source]
pycropml.transpiler.rules.fortranRules.translateContains(node)[source]
pycropml.transpiler.rules.fortranRules.translateFind(node)[source]
pycropml.transpiler.rules.fortranRules.translateIndex(node)[source]
pycropml.transpiler.rules.fortranRules.translateNotContains(node)[source]
pycropml.transpiler.rules.fortranRules.translatePop(node)[source]
pycropml.transpiler.rules.fortranRules.translatePow(node)[source]