Dictionary reference

Script Structure

class ieml.dictionary.script.script.AdditiveScript(children=None, character=None)

Bases: ieml.dictionary.script.script.Script

Represent an addition of same layer scripts.

__init__(children=None, character=None)

Initialize self. See help(type(self)) for accurate signature.

__module__ = 'ieml.dictionary.script.script'
class ieml.dictionary.script.script.MultiplicativeScript(substance=None, attribute=None, mode=None, children=None, character=None)

Bases: ieml.dictionary.script.script.Script

Represent a multiplication of three scripts of the same layer.

__init__(substance=None, attribute=None, mode=None, children=None, character=None)

Initialize self. See help(type(self)) for accurate signature.

__module__ = 'ieml.dictionary.script.script'
class ieml.dictionary.script.script.NullScript(layer)

Bases: ieml.dictionary.script.script.Script

__init__(layer)

Initialize self. See help(type(self)) for accurate signature.

__iter__()

Enables the syntactic sugar of iterating directly on an element without accessing “children”

__module__ = 'ieml.dictionary.script.script'
class ieml.dictionary.script.script.Script(children=None, character=None, *args, **kwargs)

Bases: ieml.commons.TreeStructure, ieml.commons.DecoratedComponent

A parser is defined by a character (PRIMITIVES, REMARKABLE_ADDITION OR REMARKABLE_MULTIPLICATION) or a list of parser children. All the element in the children list must be an AdditiveScript or a MultiplicativeScript.

__add__(other)
__contains__(item)
__eq__(other)

Return self==value.

__getnewargs_ex__()
__hash__()

Since the IEML string for a script is its definition, it can be used as a hash

__init__(children=None, character=None, *args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

__len__()
__lt__(other)

Return self<value.

__module__ = 'ieml.dictionary.script.script'
static __new__(cls, *args, **kwargs)

Need this to pickle scripts, the pickler use __hash__ method before unpickling the object attribute. Then need to pass the _str.

cells
check()
headers
is_singular
iter_structure()
iter_structure_path(flexion=False)
iter_structure_path_by_script_ss(flexion=False)
singular_sequences
singular_sequences_set
tables_script
ieml.dictionary.script.operator.add(scripts: List[ieml.dictionary.script.script.Script])
ieml.dictionary.script.operator.m(substance, attribute=None, mode=None)
ieml.dictionary.script.operator.script(arg, promote=False, factorize=False)
ieml.dictionary.script.tools.factor(sequences)
ieml.dictionary.script.tools.factorize(script: Union[ieml.dictionary.script.script.Script, List[ieml.dictionary.script.script.Script]], promote: bool = True) → ieml.dictionary.script.script.Script
Parameters:
  • script – The Script or list of Script to factorize
  • promote – If script is a list, promote all Script to the layer max(sc.layer for sc in scripts)
Returns:

the factorized script

ieml.dictionary.script.tools.pack_factorisation(facto_list)
Parameters:facto_list – list of script or tuple of factorisation
Returns:
ieml.dictionary.script.tools.promote(script: ieml.dictionary.script.script.Script, layer: int)

Promote script to layer by multiplying it with null scripts (E:) :param script: :param layer: :return:

Dictionary Structure

class ieml.dictionary.dictionary.Dictionary(paradigms, structure)

Bases: object

__contains__(item)
__dict__ = mappingproxy({'__module__': 'ieml.dictionary.dictionary', '__init__': <function Dictionary.__init__>, '__len__': <function Dictionary.__len__>, '__getitem__': <function Dictionary.__getitem__>, '__contains__': <function Dictionary.__contains__>, '__dict__': <attribute '__dict__' of 'Dictionary' objects>, '__weakref__': <attribute '__weakref__' of 'Dictionary' objects>, '__doc__': None})
__getitem__(item)
__init__(paradigms, structure)

Initialize self. See help(type(self)) for accurate signature.

__len__()
__module__ = 'ieml.dictionary.dictionary'
__weakref__

list of weak references to the object (if defined)

Script Parser

ieml.dictionary.script.parser.lexer.get_script_lexer(module=None)
class ieml.dictionary.script.parser.parser.ScriptParser

Bases: object

__dict__ = mappingproxy({'__module__': 'ieml.dictionary.script.parser.parser', 'tokens': ('PLUS', 'LAYER0_MARK', 'LAYER1_MARK', 'LAYER2_MARK', 'LAYER3_MARK', 'LAYER4_MARK', 'LAYER5_MARK', 'LAYER6_MARK', 'PRIMITIVE', 'REMARKABLE_ADDITION', 'REMARKABLE_MULTIPLICATION'), 'lock': <unlocked _thread.lock object>, '__init__': <function ScriptParser.__init__>, 't_parse': <functools._lru_cache_wrapper object>, 'p_error': <function ScriptParser.p_error>, 'p_term': <function ScriptParser.p_term>, 'p_script_lvl_0': <function ScriptParser.p_script_lvl_0>, 'p_additive_script_lvl_0': <function ScriptParser.p_additive_script_lvl_0>, 'p_sum_lvl_0': <function ScriptParser.p_sum_lvl_0>, 'p_script_lvl_1': <function ScriptParser.p_script_lvl_1>, 'p_sum_lvl_1': <function ScriptParser.p_sum_lvl_1>, 'p_additive_script_lvl_1': <function ScriptParser.p_additive_script_lvl_1>, 't_add_rules': <function ScriptParser.t_add_rules>, '__dict__': <attribute '__dict__' of 'ScriptParser' objects>, '__weakref__': <attribute '__weakref__' of 'ScriptParser' objects>, '__doc__': None, 'p_sum_lvl_2': <function _sum>, 'p_additive_script_lvl_2': <function _additive>, 'p_script_lvl_2': <function _script>, 'p_sum_lvl_3': <function _sum>, 'p_additive_script_lvl_3': <function _additive>, 'p_script_lvl_3': <function _script>, 'p_sum_lvl_4': <function _sum>, 'p_additive_script_lvl_4': <function _additive>, 'p_script_lvl_4': <function _script>, 'p_sum_lvl_5': <function _sum>, 'p_additive_script_lvl_5': <function _additive>, 'p_script_lvl_5': <function _script>, 'p_sum_lvl_6': <function _sum>, 'p_additive_script_lvl_6': <function _additive>, 'p_script_lvl_6': <function _script>})
__init__()

Initialize self. See help(type(self)) for accurate signature.

__module__ = 'ieml.dictionary.script.parser.parser'
__weakref__

list of weak references to the object (if defined)

lock = <unlocked _thread.lock object>
p_additive_script_lvl_0(p)

additive_script_lvl_0 : sum_lvl_0

p_additive_script_lvl_1(p)

additive_script_lvl_1 : sum_lvl_1

p_additive_script_lvl_2(p)

additive_script_lvl_2 : sum_lvl_2

p_additive_script_lvl_3(p)

additive_script_lvl_3 : sum_lvl_3

p_additive_script_lvl_4(p)

additive_script_lvl_4 : sum_lvl_4

p_additive_script_lvl_5(p)

additive_script_lvl_5 : sum_lvl_5

p_additive_script_lvl_6(p)

additive_script_lvl_6 : sum_lvl_6

p_error(p)
p_script_lvl_0(p)

script_lvl_0 : PRIMITIVE LAYER0_MARK | REMARKABLE_ADDITION LAYER0_MARK

p_script_lvl_1(p)

script_lvl_1 : additive_script_lvl_0 LAYER1_MARK | additive_script_lvl_0 additive_script_lvl_0 LAYER1_MARK | additive_script_lvl_0 additive_script_lvl_0 additive_script_lvl_0 LAYER1_MARK | REMARKABLE_MULTIPLICATION LAYER1_MARK

p_script_lvl_2(p)

script_lvl_2 : sum_lvl_1 LAYER2_MARK | sum_lvl_1 sum_lvl_1 LAYER2_MARK | sum_lvl_1 sum_lvl_1 sum_lvl_1 LAYER2_MARK

p_script_lvl_3(p)

script_lvl_3 : sum_lvl_2 LAYER3_MARK | sum_lvl_2 sum_lvl_2 LAYER3_MARK | sum_lvl_2 sum_lvl_2 sum_lvl_2 LAYER3_MARK

p_script_lvl_4(p)

script_lvl_4 : sum_lvl_3 LAYER4_MARK | sum_lvl_3 sum_lvl_3 LAYER4_MARK | sum_lvl_3 sum_lvl_3 sum_lvl_3 LAYER4_MARK

p_script_lvl_5(p)

script_lvl_5 : sum_lvl_4 LAYER5_MARK | sum_lvl_4 sum_lvl_4 LAYER5_MARK | sum_lvl_4 sum_lvl_4 sum_lvl_4 LAYER5_MARK

p_script_lvl_6(p)

script_lvl_6 : sum_lvl_5 LAYER6_MARK | sum_lvl_5 sum_lvl_5 LAYER6_MARK | sum_lvl_5 sum_lvl_5 sum_lvl_5 LAYER6_MARK

p_sum_lvl_0(p)

sum_lvl_0 : script_lvl_0 | script_lvl_0 PLUS sum_lvl_0

p_sum_lvl_1(p)

sum_lvl_1 : script_lvl_1 | script_lvl_1 PLUS sum_lvl_1

p_sum_lvl_2(p)

sum_lvl_2 : script_lvl_2 | script_lvl_2 PLUS sum_lvl_2

p_sum_lvl_3(p)

sum_lvl_3 : script_lvl_3 | script_lvl_3 PLUS sum_lvl_3

p_sum_lvl_4(p)

sum_lvl_4 : script_lvl_4 | script_lvl_4 PLUS sum_lvl_4

p_sum_lvl_5(p)

sum_lvl_5 : script_lvl_5 | script_lvl_5 PLUS sum_lvl_5

p_sum_lvl_6(p)

sum_lvl_6 : script_lvl_6 | script_lvl_6 PLUS sum_lvl_6

p_term(p)

term : script_lvl_0 | additive_script_lvl_0 | script_lvl_1 | additive_script_lvl_1 | script_lvl_2 | additive_script_lvl_2 | script_lvl_3 | additive_script_lvl_3 | script_lvl_4 | additive_script_lvl_4 | script_lvl_5 | additive_script_lvl_5 | script_lvl_6 | additive_script_lvl_6

t_add_rules()
t_parse
tokens = ('PLUS', 'LAYER0_MARK', 'LAYER1_MARK', 'LAYER2_MARK', 'LAYER3_MARK', 'LAYER4_MARK', 'LAYER5_MARK', 'LAYER6_MARK', 'PRIMITIVE', 'REMARKABLE_ADDITION', 'REMARKABLE_MULTIPLICATION')