SYMBOL INDEX (1242 symbols across 122 files) FILE: mocodo/__init__.py function load_ipython_extension (line 8) | def load_ipython_extension(ipython): FILE: mocodo/__main__.py class ResponseLogger (line 33) | class ResponseLogger: method __init__ (line 35) | def __init__(self, params): method log_nothing (line 50) | def log_nothing(self, *args, **kwargs): method log_for_magic (line 53) | def log_for_magic(self, key, value): method dump (line 57) | def dump(self): function flip (line 61) | def flip(source, subargs): class Runner (line 75) | class Runner: method __init__ (line 77) | def __init__(self, args, printer): method __call__ (line 88) | def __call__(self): method get_rendering_service (line 235) | def get_rendering_service(self, extension): method get_converted_file_paths (line 250) | def get_converted_file_paths(self, result): method control_for_overlaps (line 294) | def control_for_overlaps(self, mcd): method add_gutter_params (line 307) | def add_gutter_params(self, params): function main (line 334) | def main(): FILE: mocodo/api.py function mocodo (line 9) | def mocodo(arg_string="", quiet=True): FILE: mocodo/argument_parser.py class ArgumentDefaultsRawDescriptionHelpFormatter (line 19) | class ArgumentDefaultsRawDescriptionHelpFormatter( function init_localization (line 25) | def init_localization(language): class Transformations (line 52) | class Transformations: method __init__ (line 54) | def __init__(self, language): method extract_transformation_subargs (line 77) | def extract_transformation_subargs(self, arg): function extract_subargs (line 94) | def extract_subargs(arg): function rate (line 107) | def rate(string): function scale (line 119) | def scale(string): function non_negative_integer (line 131) | def non_negative_integer(string): function positive_integer (line 143) | def positive_integer(string): function parsed_arguments (line 154) | def parsed_arguments(args): FILE: mocodo/association.py class Association (line 7) | class Association: method reset_df_counter (line 12) | def reset_df_counter(cls): method __init__ (line 15) | def __init__(self, clause, **params): method get_note_data (line 86) | def get_note_data(self): method register_boxes (line 99) | def register_boxes(self, boxes): method register_mcd_has_cif (line 102) | def register_mcd_has_cif(self, mcd_has_cif): method calculate_size_when_invisible (line 107) | def calculate_size_when_invisible(self, *ignored): method calculate_size_when_visible (line 111) | def calculate_size_when_visible(self, style, get_font_metrics): method register_center (line 123) | def register_center(self, geo): method set_view_strategies (line 131) | def set_view_strategies(self): method description_when_visible (line 334) | def description_when_visible(self, style, geo): method leg_descriptions (line 355) | def leg_descriptions(self, style, geo): method cluster_hull (line 362) | def cluster_hull(self, e1, e2, card_margin): function points_to_rounded_path (line 437) | def points_to_rounded_path(points, r): FILE: mocodo/attribute.py class Attribute (line 3) | class Attribute: method __init__ (line 11) | def __init__(self, attribute): method register_foreign_key_status (line 21) | def register_foreign_key_status(self, attribute, fk_format): method calculate_size (line 28) | def calculate_size(self, style, get_font_metrics): method set_id_gutter_width (line 35) | def set_id_gutter_width(self, id_gutter_width): method description (line 38) | def description(self, style, x, y, dx, dy): class SimpleEntityAttribute (line 68) | class SimpleEntityAttribute(Attribute): method __init__ (line 70) | def __init__(self, attribute): class SimpleAssociationAttribute (line 77) | class SimpleAssociationAttribute(Attribute): method __init__ (line 79) | def __init__(self, attribute): class IdentifierAttribute (line 86) | class IdentifierAttribute(Attribute): method __init__ (line 88) | def __init__(self, attribute): method calculate_size (line 94) | def calculate_size(self, *args): class StrongAttribute (line 97) | class StrongAttribute(IdentifierAttribute): method __init__ (line 99) | def __init__(self, attribute): method description (line 104) | def description(self, style, x, y, dx, dy): class WeakAttribute (line 119) | class WeakAttribute(IdentifierAttribute): method __init__ (line 121) | def __init__(self, attribute): method description (line 126) | def description(self, style, x, y, dx, dy): class PhantomAttribute (line 143) | class PhantomAttribute(Attribute): method __init__ (line 145) | def __init__(self, attribute): method description (line 150) | def description(self, *_): class InheritanceAttribute (line 154) | class InheritanceAttribute(Attribute): method __init__ (line 156) | def __init__(self, attribute): FILE: mocodo/common.py function contract_path (line 11) | def contract_path(path): class Printer (line 23) | class Printer: method __init__ (line 25) | def __init__(self, quiet=False): method safe_print_for_PHP (line 32) | def safe_print_for_PHP(self, s): class Common (line 41) | class Common: method __init__ (line 43) | def __init__(self, params): method output_success_message (line 46) | def output_success_message(self, path): method update_source (line 49) | def update_source(self, source): method load_input_file (line 54) | def load_input_file(self): method load_style (line 78) | def load_style(self): FILE: mocodo/constraint.py class Constraint (line 7) | class Constraint: method reset_counter (line 12) | def reset_counter(cls): method __init__ (line 15) | def __init__(self, clause): method register_boxes (line 33) | def register_boxes(self, boxes): method calculate_size (line 36) | def calculate_size(self, style, get_font_metrics): method register_center (line 46) | def register_center(self, geo): method _description (line 69) | def _description(self, style): method description (line 96) | def description(self, style, geo): method leg_descriptions (line 115) | def leg_descriptions(self, style, geo): method invert_coords_horizontal_mirror (line 121) | def invert_coords_horizontal_mirror(self): method invert_coords_vertical_mirror (line 126) | def invert_coords_vertical_mirror(self): method invert_coords_diagonal_mirror (line 131) | def invert_coords_diagonal_mirror(self): FILE: mocodo/convert/_ast.py function ast_to_yaml (line 3) | def ast_to_yaml(node, indent=""): function run (line 15) | def run(source, subargs=None, common=None): FILE: mocodo/convert/_chen.py class Chen (line 14) | class Chen(Visitor): method __init__ (line 15) | def __init__(self, subargs, common): method entity_or_table_attr (line 41) | def entity_or_table_attr(self, tree): method entity_clause (line 47) | def entity_clause(self, tree): method assoc_clause (line 71) | def assoc_clause(self, tree): method start (line 124) | def start(self, tree): method get_graphviz (line 132) | def get_graphviz(self, common): method get_text_for_testing (line 272) | def get_text_for_testing(self): function run (line 303) | def run(source, subargs=None, common=None, testing=False): FILE: mocodo/convert/_crow.py class Crow (line 12) | class Crow(Visitor): method __init__ (line 13) | def __init__(self): method entity_or_table_attr (line 20) | def entity_or_table_attr(self, tree): method entity_clause (line 29) | def entity_clause(self, tree): method assoc_clause (line 45) | def assoc_clause(self, tree): method start (line 59) | def start(self, tree): function run (line 67) | def run(source, subargs, common=None): FILE: mocodo/convert/_data_dict.py class AttributeListExtractor (line 23) | class AttributeListExtractor(Transformer): # depth-first, post-order method __init__ (line 24) | def __init__(self): method _box_clause (line 30) | def _box_clause(self, children): method attr (line 41) | def attr(self, children): method datatype (line 45) | def datatype(self, children): method finalize (line 50) | def finalize(self, common, subargs): method get_tsv (line 81) | def get_tsv(self): method get_markdown (line 88) | def get_markdown(self): function run (line 102) | def run(source, subargs=None, common=None): FILE: mocodo/convert/_prompt.py class CreateLegNotePlaceholder (line 5) | class CreateLegNotePlaceholder(Visitor): method assoc_leg (line 6) | def assoc_leg(self, tree): method comment (line 15) | def comment(self, tree): class CreateTypePlaceholder (line 20) | class CreateTypePlaceholder(Visitor): method typed_attr (line 21) | def typed_attr(self, tree): function CreatePlaceholder (line 25) | def CreatePlaceholder(subarg): function get_prompt (line 34) | def get_prompt(source, chat_dir, subarg): function backticks (line 51) | def backticks(text): function run (line 55) | def run(source, subargs, common): FILE: mocodo/convert/_share.py function run (line 4) | def run(source, subargs=None, common=None): FILE: mocodo/convert/_uml.py class UmlClassDiagram (line 30) | class UmlClassDiagram(Visitor): method __init__ (line 31) | def __init__(self, preamble, common): method entity_or_table_attr (line 40) | def entity_or_table_attr(self, tree): method entity_clause (line 49) | def entity_clause(self, tree): method assoc_clause (line 68) | def assoc_clause(self, tree): method inheritance_clause (line 135) | def inheritance_clause(self, tree): method start (line 148) | def start(self, tree): method get_plantuml (line 151) | def get_plantuml(self): function run (line 221) | def run(source, subargs=None, common=None): FILE: mocodo/convert/crow_gv.py class CrowGv (line 23) | class CrowGv(Crow): method get_text (line 25) | def get_text(self, common): function run (line 90) | def run(source, subargs, common=None): FILE: mocodo/convert/crow_mmd.py function sanitize_type (line 32) | def sanitize_type(s): class CrowMmd (line 45) | class CrowMmd(Crow): method get_text (line 46) | def get_text(self): function run (line 66) | def run(source, subargs, common=None): FILE: mocodo/convert/read_template.py function read_template (line 7) | def read_template(stem_or_path, official_template_dir): FILE: mocodo/convert/relations.py function set_defaults (line 11) | def set_defaults(template): class Relations (line 74) | class Relations: method __init__ (line 76) | def __init__(self, mcd, params): method get_text (line 96) | def get_text(self, template): method map_mcd_layout_onto_mld (line 198) | def map_mcd_layout_onto_mld(self, lines): method may_retrieve_distant_leg_note (line 224) | def may_retrieve_distant_leg_note(self, leg, attribute): method may_retrieve_distant_outer_source (line 231) | def may_retrieve_distant_outer_source(self, leg, attribute): method ensure_no_reciprocical_relative_entities (line 238) | def ensure_no_reciprocical_relative_entities(self): method pop_optionality_from_datatype (line 250) | def pop_optionality_from_datatype(attribute, is_primary = False): method relations_from_entities (line 263) | def relations_from_entities(self): method strengthen_weak_identifiers (line 295) | def strengthen_weak_identifiers(self): method find_inheritance_parent_or_children_to_delete (line 360) | def find_inheritance_parent_or_children_to_delete(self): method strengthen_children (line 373) | def strengthen_children(self): method strengthen_parents (line 397) | def strengthen_parents(self): method process_associations (line 418) | def process_associations(self): method process_inheritances (line 612) | def process_inheritances(self): method delete_inheritance_parent_or_children_to_delete (line 676) | def delete_inheritance_parent_or_children_to_delete(self): method delete_deletable_relations (line 680) | def delete_deletable_relations(self): method make_primary_keys_first (line 692) | def make_primary_keys_first(self): FILE: mocodo/dev/json_to_yaml_templates.py function repr_single (line 4) | def repr_single(s): function convert (line 8) | def convert(source_path, target_path): FILE: mocodo/diagram_link.py class DiagramLink (line 4) | class DiagramLink: method __init__ (line 5) | def __init__(self, entities, foreign_entity, foreign_key): method calculate_size (line 19) | def calculate_size(self, style, *ignored): method description (line 38) | def description(self, style, geo): FILE: mocodo/entity.py class Entity (line 5) | class Entity: method __init__ (line 6) | def __init__(self, clause): method add_attributes (line 26) | def add_attributes(self, legs_to_strengthen, is_child, fk_format): method register_boxes (line 54) | def register_boxes(self, boxes): method set_id_gutter_visibility (line 57) | def set_id_gutter_visibility(self, is_visible): method calculate_size_when_invisible (line 60) | def calculate_size_when_invisible(self, *ignored): method calculate_size_when_visible (line 64) | def calculate_size_when_visible(self, style, get_font_metrics): method register_center (line 92) | def register_center(self, geo): method description_when_visible (line 100) | def description_when_visible(self, style, geo): FILE: mocodo/font_metrics.py function font_metrics_factory (line 5) | def font_metrics_factory(params): FILE: mocodo/grid.py class Grid (line 5) | class Grid(list): method __init__ (line 7) | def __init__(self, max_number_of_nodes=100, min_balance=0.5): method get_nth_next (line 26) | def get_nth_next(self, index, nth): method get_markdown (line 34) | def get_markdown(self): FILE: mocodo/guess_title.py function guess_title (line 17) | def guess_title(source, language): function may_update_params_with_guessed_title (line 40) | def may_update_params_with_guessed_title(source, params): FILE: mocodo/inheritance.py class Inheritance (line 11) | class Inheritance: method reset_counter (line 16) | def reset_counter(cls): method __init__ (line 19) | def __init__(self, clause, **params): method register_boxes (line 49) | def register_boxes(self, boxes): method calculate_size (line 52) | def calculate_size(self, style, get_font_metrics): method register_center (line 64) | def register_center(self, geo): method description (line 72) | def description(self, style, geo): method leg_descriptions (line 119) | def leg_descriptions(self, style, geo): FILE: mocodo/leg.py class Leg (line 8) | class Leg: method __init__ (line 9) | def __init__(self, association, leg_clause, **params): method register_entity (line 47) | def register_entity(self, entity): method register_mcd_has_cif (line 50) | def register_mcd_has_cif(self, mcd_has_cif): method append_candidate_group (line 55) | def append_candidate_group(self, candidate_number: str): method calculate_size (line 62) | def calculate_size(self, style, get_font_metrics): method set_spin_strategy (line 67) | def set_spin_strategy(self, spin): method _straight_description (line 74) | def _straight_description(self, style, geo): method _curved_description (line 187) | def _curved_description(self, style, geo): class InheritanceLeg (line 306) | class InheritanceLeg: method __init__ (line 307) | def __init__(self, inheritance, leg, **params): method register_entity (line 315) | def register_entity(self, entity): method calculate_size (line 318) | def calculate_size(self, style, get_font_metrics): method description (line 323) | def description(self, style, geo): class ConstraintLeg (line 390) | class ConstraintLeg: method __init__ (line 392) | def __init__(self, constraint, kind, box_raw_name): method register_box (line 399) | def register_box(self, box): method description (line 402) | def description(self, style, geo): function line_intersection (line 472) | def line_intersection(ex, ey, w, h, ax, ay, cmp=lambda x, y: (x > y) - (... function straight_leg_factory (line 485) | def straight_leg_factory(ex, ey, ew, eh, ax, ay, aw, ah, cw=0, ch=0, car... function curved_leg_factory (line 528) | def curved_leg_factory(ex, ey, ew, eh, ax, ay, aw, ah, cw, ch, card_marg... function orthogonal_translation (line 640) | def orthogonal_translation(x1, y1, x2, y2, d): FILE: mocodo/magic.py function update_cell (line 26) | def update_cell(content): function read_and_cleanup_text (line 51) | def read_and_cleanup_text(path): function display_converted_file (line 56) | def display_converted_file(path, hide_header): function mocodo (line 88) | def mocodo(line="", source=""): FILE: mocodo/mcd.py function cmp (line 19) | def cmp(x, y): class Mcd (line 24) | class Mcd: method __init__ (line 26) | def __init__(self, source, get_font_metrics=None, **params): method get_notes_data (line 297) | def get_notes_data(self): method update_notes_data (line 311) | def update_notes_data(self, notes_data): method update_footer (line 317) | def update_footer(self): method get_layout_data (line 321) | def get_layout_data(self): method get_layout (line 355) | def get_layout(self): method get_row_text (line 358) | def get_row_text(self, row): method get_non_phantom_count (line 361) | def get_non_phantom_count(self): method set_layout (line 364) | def set_layout(self, layout, col_count=None, row_count=None, **kwargs): method get_clauses (line 391) | def get_clauses(self): method get_vertically_flipped_clauses (line 399) | def get_vertically_flipped_clauses(self): method get_horizontally_flipped_clauses (line 405) | def get_horizontally_flipped_clauses(self): method get_diagonally_flipped_clauses (line 411) | def get_diagonally_flipped_clauses(self): method get_refitted_clauses (line 417) | def get_refitted_clauses(self, nth_fit_or_col_count, row_count=None): method calculate_or_retrieve_geo (line 440) | def calculate_or_retrieve_geo(self, params): method calculate_size (line 496) | def calculate_size(self, style): method description (line 583) | def description(self, style, geo): method get_overlaps (line 637) | def get_overlaps(self): FILE: mocodo/mcd_to_svg.py function svg2png (line 10) | def svg2png(**kargs): function main (line 15) | def main(mcd, common, suppress_mocodo_header=False): function html_escape (line 106) | def html_escape( FILE: mocodo/mocodo_error.py class MocodoError (line 4) | class MocodoError(Exception): method __init__ (line 5) | def __init__(self, errno, message): function subarg_error (line 24) | def subarg_error(subsubopt, subsubarg): function subsubopt_error (line 27) | def subsubopt_error(subsubopt): function subopt_error (line 30) | def subopt_error(opt, subopt): FILE: mocodo/parse_mcd.py class LarkError (line 39) | class LarkError(Exception): class ConfigurationError (line 43) | class ConfigurationError(LarkError, ValueError): function assert_config (line 47) | def assert_config(value, options: Collection, msg='Got %r, expected one ... class GrammarError (line 52) | class GrammarError(LarkError): class ParseError (line 56) | class ParseError(LarkError): class LexError (line 60) | class LexError(LarkError): class UnexpectedInput (line 65) | class UnexpectedInput(LarkError): method get_context (line 73) | def get_context(self, text: str, span: int=40) -> str: method match_examples (line 88) | def match_examples(self, parse_fn: 'Callable[[str], Tree]', method _format_expected (line 139) | def _format_expected(self, expected): class UnexpectedEOF (line 146) | class UnexpectedEOF(ParseError, UnexpectedInput): method __init__ (line 150) | def __init__(self, expected, state=None, terminals_by_name=None): method __str__ (line 164) | def __str__(self): class UnexpectedCharacters (line 170) | class UnexpectedCharacters(LexError, UnexpectedInput): method __init__ (line 176) | def __init__(self, seq, lex_pos, line, column, allowed=None, considere... method __str__ (line 200) | def __str__(self): class UnexpectedToken (line 210) | class UnexpectedToken(ParseError, UnexpectedInput): method __init__ (line 217) | def __init__(self, token, expected, considered_rules=None, state=None,... method accepts (line 238) | def accepts(self) -> Set[str]: method __str__ (line 243) | def __str__(self): class VisitError (line 253) | class VisitError(LarkError): method __init__ (line 259) | def __init__(self, rule, obj, orig_exc): class MissingVariableError (line 268) | class MissingVariableError(LarkError): function classify (line 289) | def classify(seq: Iterable, key: Optional[Callable] = None, value: Optio... function _deserialize (line 301) | def _deserialize(data: Any, namespace: Dict[str, Any], memo: Dict) -> Any: class Serialize (line 317) | class Serialize: method memo_serialize (line 320) | def memo_serialize(self, types_to_memoize: List) -> Any: method serialize (line 324) | def serialize(self, memo = None) -> Dict[str, Any]: method deserialize (line 337) | def deserialize(cls: Type[_T], data: Dict[str, Any], memo: Dict[int, A... class SerializeMemoizer (line 360) | class SerializeMemoizer(Serialize): method __init__ (line 365) | def __init__(self, types_to_memoize: List) -> None: method in_types (line 369) | def in_types(self, value: Serialize) -> bool: method serialize (line 372) | def serialize(self) -> Dict[int, Any]: ## method deserialize (line 377) | def deserialize(cls, data: Dict[int, Any], namespace: Dict[str, Any], ... function get_regexp_width (line 397) | def get_regexp_width(expr: str) -> Union[Tuple[int, int], List[int]]: class Meta (line 434) | class Meta: method __init__ (line 446) | def __init__(self): class Tree (line 454) | class Tree(Generic[_Leaf_T]): method __init__ (line 460) | def __init__(self, data: str, children: 'List[Branch[_Leaf_T]]', meta:... method meta (line 466) | def meta(self) -> Meta: method __repr__ (line 471) | def __repr__(self): method _pretty_label (line 474) | def _pretty_label(self): method _pretty (line 477) | def _pretty(self, level, indent_str): method pretty (line 489) | def pretty(self, indent_str: str=' ') -> str: method __rich__ (line 493) | def __rich__(self, parent:Optional['rich.tree.Tree']=None) -> 'rich.tr... method _rich (line 497) | def _rich(self, parent): method __eq__ (line 512) | def __eq__(self, other): method __ne__ (line 518) | def __ne__(self, other): method __hash__ (line 521) | def __hash__(self) -> int: method iter_subtrees (line 524) | def iter_subtrees(self) -> 'Iterator[Tree[_Leaf_T]]': method iter_subtrees_topdown (line 539) | def iter_subtrees_topdown(self): method find_pred (line 552) | def find_pred(self, pred: 'Callable[[Tree[_Leaf_T]], bool]') -> 'Itera... method find_data (line 556) | def find_data(self, data: str) -> 'Iterator[Tree[_Leaf_T]]': class _DiscardType (line 572) | class _DiscardType: method __repr__ (line 575) | def __repr__(self): class _Decoratable (line 583) | class _Decoratable: method _apply_v_args (line 587) | def _apply_v_args(cls, visit_wrapper): method __class_getitem__ (line 608) | def __class_getitem__(cls, _): class Transformer (line 612) | class Transformer(_Decoratable, ABC, Generic[_Leaf_T, _Return_T]): method __init__ (line 617) | def __init__(self, visit_tokens: bool=True) -> None: method _call_userfunc (line 620) | def _call_userfunc(self, tree, new_children=None): method _call_userfunc_token (line 640) | def _call_userfunc_token(self, token): method _transform_children (line 653) | def _transform_children(self, children): method _transform_tree (line 665) | def _transform_tree(self, tree): method transform (line 669) | def transform(self, tree: Tree[_Leaf_T]) -> _Return_T: method __mul__ (line 673) | def __mul__( method __default__ (line 680) | def __default__(self, data, children, meta): method __default_token__ (line 684) | def __default_token__(self, token): function merge_transformers (line 689) | def merge_transformers(base_transformer=None, **transformers_to_merge): class InlineTransformer (line 709) | class InlineTransformer(Transformer): ## method _call_userfunc (line 711) | def _call_userfunc(self, tree, new_children=None): class TransformerChain (line 723) | class TransformerChain(Generic[_Leaf_T, _Return_T]): method __init__ (line 727) | def __init__(self, *transformers: 'Union[Transformer, TransformerChain... method transform (line 730) | def transform(self, tree: Tree[_Leaf_T]) -> _Return_T: method __mul__ (line 735) | def __mul__( class Transformer_InPlace (line 742) | class Transformer_InPlace(Transformer): method _transform_tree (line 744) | def _transform_tree(self, tree): ## method transform (line 748) | def transform(self, tree: Tree[_Leaf_T]) -> _Return_T: class Transformer_NonRecursive (line 755) | class Transformer_NonRecursive(Transformer): method transform (line 758) | def transform(self, tree: Tree[_Leaf_T]) -> _Return_T: class Transformer_InPlaceRecursive (line 803) | class Transformer_InPlaceRecursive(Transformer): method _transform_tree (line 805) | def _transform_tree(self, tree): class VisitorBase (line 813) | class VisitorBase: method _call_userfunc (line 814) | def _call_userfunc(self, tree): method __default__ (line 817) | def __default__(self, tree): method __class_getitem__ (line 821) | def __class_getitem__(cls, _): class Visitor (line 825) | class Visitor(VisitorBase, ABC, Generic[_Leaf_T]): method visit (line 828) | def visit(self, tree: Tree[_Leaf_T]) -> Tree[_Leaf_T]: method visit_topdown (line 834) | def visit_topdown(self, tree: Tree[_Leaf_T]) -> Tree[_Leaf_T]: class Visitor_Recursive (line 841) | class Visitor_Recursive(VisitorBase, Generic[_Leaf_T]): method visit (line 844) | def visit(self, tree: Tree[_Leaf_T]) -> Tree[_Leaf_T]: method visit_topdown (line 853) | def visit_topdown(self,tree: Tree[_Leaf_T]) -> Tree[_Leaf_T]: class Interpreter (line 864) | class Interpreter(_Decoratable, ABC, Generic[_Leaf_T, _Return_T]): method visit (line 867) | def visit(self, tree: Tree[_Leaf_T]) -> _Return_T: method _visit_tree (line 876) | def _visit_tree(self, tree: Tree[_Leaf_T]): method visit_children (line 884) | def visit_children(self, tree: Tree[_Leaf_T]) -> List: method __getattr__ (line 888) | def __getattr__(self, name): method __default__ (line 891) | def __default__(self, tree): function visit_children_decor (line 897) | def visit_children_decor(func: _InterMethod) -> _InterMethod: function _apply_v_args (line 908) | def _apply_v_args(obj, visit_wrapper): class _VArgsWrapper (line 917) | class _VArgsWrapper: method __init__ (line 921) | def __init__(self, func: Callable, visit_wrapper: Callable[[Callable, ... method __call__ (line 931) | def __call__(self, *args, **kwargs): method __get__ (line 934) | def __get__(self, instance, owner=None): method __set_name__ (line 946) | def __set_name__(self, owner, name): function _vargs_inline (line 955) | def _vargs_inline(f, _data, children, _meta): function _vargs_meta_inline (line 957) | def _vargs_meta_inline(f, _data, children, meta): function _vargs_meta (line 959) | def _vargs_meta(f, _data, children, meta): function _vargs_tree (line 961) | def _vargs_tree(f, data, children, meta): function v_args (line 965) | def v_args(inline: bool = False, meta: bool = False, tree: bool = False,... class Symbol (line 995) | class Symbol(Serialize): method __init__ (line 1001) | def __init__(self, name: str) -> None: method __eq__ (line 1004) | def __eq__(self, other): method __ne__ (line 1008) | def __ne__(self, other): method __hash__ (line 1011) | def __hash__(self): method __repr__ (line 1014) | def __repr__(self): method renamed (line 1019) | def renamed(self, f): class Terminal (line 1023) | class Terminal(Symbol): method __init__ (line 1028) | def __init__(self, name, filter_out=False): method fullrepr (line 1033) | def fullrepr(self): method renamed (line 1036) | def renamed(self, f): class NonTerminal (line 1040) | class NonTerminal(Symbol): class RuleOptions (line 1046) | class RuleOptions(Serialize): method __init__ (line 1055) | def __init__(self, keep_all_tokens: bool=False, expand1: bool=False, p... method __repr__ (line 1062) | def __repr__(self): class Rule (line 1071) | class Rule(Serialize): method __init__ (line 1078) | def __init__(self, origin, expansion, order=0, alias=None, options=None): method _deserialize (line 1086) | def _deserialize(self): method __str__ (line 1089) | def __str__(self): method __repr__ (line 1092) | def __repr__(self): method __hash__ (line 1095) | def __hash__(self): method __eq__ (line 1098) | def __eq__(self, other): class Pattern (line 1113) | class Pattern(Serialize, ABC): method __init__ (line 1120) | def __init__(self, value: str, flags: Collection[str] = (), raw: Optio... method __repr__ (line 1125) | def __repr__(self): method __hash__ (line 1130) | def __hash__(self): method __eq__ (line 1133) | def __eq__(self, other): method to_regexp (line 1137) | def to_regexp(self) -> str: method min_width (line 1142) | def min_width(self) -> int: method max_width (line 1147) | def max_width(self) -> int: method _get_flags (line 1150) | def _get_flags(self, value): class PatternStr (line 1156) | class PatternStr(Pattern): method to_regexp (line 1161) | def to_regexp(self) -> str: method min_width (line 1165) | def min_width(self) -> int: method max_width (line 1169) | def max_width(self) -> int: class PatternRE (line 1173) | class PatternRE(Pattern): method to_regexp (line 1178) | def to_regexp(self) -> str: method _get_width (line 1182) | def _get_width(self): method min_width (line 1188) | def min_width(self) -> int: method max_width (line 1192) | def max_width(self) -> int: class TerminalDef (line 1196) | class TerminalDef(Serialize): method __init__ (line 1204) | def __init__(self, name: str, pattern: Pattern, priority: int = TOKEN_... method __repr__ (line 1210) | def __repr__(self): method user_repr (line 1213) | def user_repr(self) -> str: class Token (line 1222) | class Token(str): method __new__ (line 1239) | def __new__( method __new__ (line 1253) | def __new__( method __new__ (line 1265) | def __new__(cls, *args, **kwargs): method _future_new (line 1277) | def _future_new(cls, type, value, start_pos=None, line=None, column=No... method update (line 1291) | def update(self, type: Optional[str] = None, value: Optional[Any] = No... method update (line 1295) | def update(self, type_: Optional[str] = None, value: Optional[Any] = N... method update (line 1298) | def update(self, *args, **kwargs): method _future_update (line 1308) | def _future_update(self, type: Optional[str] = None, value: Optional[A... method new_borrow_pos (line 1316) | def new_borrow_pos(cls: Type[_T], type_: str, value: Any, borrow_t: 'T... method __reduce__ (line 1319) | def __reduce__(self): method __repr__ (line 1322) | def __repr__(self): method __deepcopy__ (line 1325) | def __deepcopy__(self, memo): method __eq__ (line 1328) | def __eq__(self, other): class LineCounter (line 1337) | class LineCounter: method __init__ (line 1340) | def __init__(self, newline_char): method __eq__ (line 1347) | def __eq__(self, other): method feed (line 1353) | def feed(self, token: Token, test_newline=True): class UnlessCallback (line 1365) | class UnlessCallback: method __init__ (line 1366) | def __init__(self, scanner): method __call__ (line 1369) | def __call__(self, t): class CallChain (line 1376) | class CallChain: method __init__ (line 1377) | def __init__(self, callback1, callback2, cond): method __call__ (line 1382) | def __call__(self, t): function _get_match (line 1387) | def _get_match(re_, regexp, s, flags): function _create_unless (line 1392) | def _create_unless(terminals, g_regex_flags, re_, use_bytes): class Scanner (line 1414) | class Scanner: method __init__ (line 1415) | def __init__(self, terminals, g_regex_flags, re_, use_bytes, match_who... method _build_mres (line 1426) | def _build_mres(self, terminals, max_size): method match (line 1449) | def match(self, text, pos): function _regexp_has_newline (line 1456) | def _regexp_has_newline(r: str): class LexerState (line 1461) | class LexerState: method __init__ (line 1470) | def __init__(self, text: str, line_ctr: Optional[LineCounter]=None, la... method __eq__ (line 1475) | def __eq__(self, other): method __copy__ (line 1481) | def __copy__(self): class LexerThread (line 1485) | class LexerThread: method __init__ (line 1488) | def __init__(self, lexer: 'Lexer', lexer_state: LexerState): method from_text (line 1493) | def from_text(cls, lexer: 'Lexer', text: str): method lex (line 1496) | def lex(self, parser_state): method __copy__ (line 1499) | def __copy__(self): class Lexer (line 1507) | class Lexer(ABC): method lex (line 1510) | def lex(self, lexer_state: LexerState, parser_state: Any) -> Iterator[... method make_lexer_state (line 1513) | def make_lexer_state(self, text): function _check_regex_collisions (line 1518) | def _check_regex_collisions(terminal_to_regexp: Dict[TerminalDef, str], ... class BasicLexer (line 1556) | class BasicLexer(Lexer): method __init__ (line 1564) | def __init__(self, conf: 'LexerConf', comparator=None) -> None: method _build_scanner (line 1608) | def _build_scanner(self): method scanner (line 1623) | def scanner(self): method match (line 1628) | def match(self, text, pos): method lex (line 1631) | def lex(self, state: LexerState, parser_state: Any) -> Iterator[Token]: method next_token (line 1636) | def next_token(self, lex_state: LexerState, parser_state: Any = None) ... class ContextualLexer (line 1673) | class ContextualLexer(Lexer): method __init__ (line 1678) | def __init__(self, conf: 'LexerConf', states: Dict[str, Collection[str... method lex (line 1709) | def lex(self, lexer_state: LexerState, parser_state: Any) -> Iterator[... class LexerConf (line 1736) | class LexerConf(Serialize): method __init__ (line 1751) | def __init__(self, terminals: Collection[TerminalDef], re_module: Modu... method _deserialize (line 1766) | def _deserialize(self): method __deepcopy__ (line 1769) | def __deepcopy__(self, memo=None): class ParserConf (line 1782) | class ParserConf(Serialize): method __init__ (line 1785) | def __init__(self, rules, callbacks, start): class ExpandSingleChild (line 1798) | class ExpandSingleChild: method __init__ (line 1799) | def __init__(self, node_builder): method __call__ (line 1802) | def __call__(self, children): class PropagatePositions (line 1810) | class PropagatePositions: method __init__ (line 1811) | def __init__(self, node_builder, node_filter=None): method __call__ (line 1815) | def __call__(self, children): method _pp_get_meta (line 1858) | def _pp_get_meta(self, children): function make_propagate_positions (line 1870) | def make_propagate_positions(option): class ChildFilter (line 1881) | class ChildFilter: method __init__ (line 1882) | def __init__(self, to_include, append_none, node_builder): method __call__ (line 1887) | def __call__(self, children): class ChildFilterLALR (line 1904) | class ChildFilterLALR(ChildFilter): method __call__ (line 1907) | def __call__(self, children): class ChildFilterLALR_NoPlaceholders (line 1927) | class ChildFilterLALR_NoPlaceholders(ChildFilter): method __init__ (line 1929) | def __init__(self, to_include, node_builder): method __call__ (line 1933) | def __call__(self, children): function _should_expand (line 1947) | def _should_expand(sym): function maybe_create_child_filter (line 1951) | def maybe_create_child_filter(expansion, keep_all_tokens, ambiguous, _em... class AmbiguousExpander (line 1981) | class AmbiguousExpander: method __init__ (line 1983) | def __init__(self, to_expand, tree_class, node_builder): method __call__ (line 1988) | def __call__(self, children): function maybe_create_ambiguous_expander (line 2015) | def maybe_create_ambiguous_expander(tree_class, expansion, keep_all_toke... class AmbiguousIntermediateExpander (line 2022) | class AmbiguousIntermediateExpander: method __init__ (line 2025) | def __init__(self, tree_class, node_builder): method __call__ (line 2029) | def __call__(self, children): function inplace_transformer (line 2063) | def inplace_transformer(func): function apply_visit_wrapper (line 2073) | def apply_visit_wrapper(func, name, wrapper): class ParseTreeBuilder (line 2083) | class ParseTreeBuilder: method __init__ (line 2084) | def __init__(self, rules, tree_class, propagate_positions=False, ambig... method _init_builders (line 2092) | def _init_builders(self, rules): method create_callback (line 2110) | def create_callback(self, transformer=None): class LALR_Parser (line 2145) | class LALR_Parser(Serialize): method __init__ (line 2146) | def __init__(self, parser_conf, debug=False, strict=False): method deserialize (line 2156) | def deserialize(cls, data, memo, callbacks, debug=False): method serialize (line 2162) | def serialize(self, memo: Any = None) -> Dict[str, Any]: method parse_interactive (line 2165) | def parse_interactive(self, lexer, start): method parse (line 2168) | def parse(self, lexer, start, on_error=None): class ParseConf (line 2203) | class ParseConf: method __init__ (line 2206) | def __init__(self, parse_table, callbacks, start): class ParserState (line 2217) | class ParserState: method __init__ (line 2220) | def __init__(self, parse_conf, lexer, state_stack=None, value_stack=No... method position (line 2227) | def position(self): method __eq__ (line 2232) | def __eq__(self, other): method __copy__ (line 2237) | def __copy__(self): method copy (line 2246) | def copy(self): method feed_token (line 2249) | def feed_token(self, token, is_end=False): class _Parser (line 2295) | class _Parser: method __init__ (line 2296) | def __init__(self, parse_table, callbacks, debug=False): method parse (line 2301) | def parse(self, lexer, start, value_stack=None, state_stack=None, star... method parse_from_state (line 2309) | def parse_from_state(self, state, last_token=None): class Action (line 2336) | class Action: method __init__ (line 2337) | def __init__(self, name): method __str__ (line 2339) | def __str__(self): method __repr__ (line 2341) | def __repr__(self): class ParseTable (line 2348) | class ParseTable: method __init__ (line 2349) | def __init__(self, states, start_states, end_states): method serialize (line 2354) | def serialize(self, memo): method deserialize (line 2371) | def deserialize(cls, data, memo): class IntParseTable (line 2381) | class IntParseTable(ParseTable): method from_ParseTable (line 2384) | def from_ParseTable(cls, parse_table): function _wrap_lexer (line 2401) | def _wrap_lexer(lexer_class): function _deserialize_parsing_frontend (line 2414) | def _deserialize_parsing_frontend(data, memo, lexer_conf, callbacks, opt... class ParsingFrontend (line 2425) | class ParsingFrontend(Serialize): method __init__ (line 2432) | def __init__(self, lexer_conf: LexerConf, parser_conf: ParserConf, opt... method _verify_start (line 2473) | def _verify_start(self, start=None): method _make_lexer_thread (line 2483) | def _make_lexer_thread(self, text: str): method parse (line 2487) | def parse(self, text: str, start=None, on_error=None): method parse_interactive (line 2493) | def parse_interactive(self, text: Optional[str]=None, start=None): function _validate_frontend_args (line 2506) | def _validate_frontend_args(parser, lexer) -> None: function _get_lexer_callbacks (line 2518) | def _get_lexer_callbacks(transformer, terminals): class PostLexConnector (line 2526) | class PostLexConnector: method __init__ (line 2527) | def __init__(self, lexer, postlexer): method lex (line 2531) | def lex(self, lexer_state, parser_state): function create_basic_lexer (line 2537) | def create_basic_lexer(lexer_conf, parser, postlex, options) -> BasicLexer: function create_contextual_lexer (line 2541) | def create_contextual_lexer(lexer_conf: LexerConf, parser, postlex, opti... function create_lalr_parser (line 2547) | def create_lalr_parser(lexer_conf: LexerConf, parser_conf: ParserConf, o... class PostLex (line 2558) | class PostLex(ABC): method process (line 2560) | def process(self, stream: Iterator[Token]) -> Iterator[Token]: class LarkOptions (line 2565) | class LarkOptions(Serialize): method __init__ (line 2706) | def __init__(self, options_dict: Dict[str, Any]) -> None: method __getattr__ (line 2735) | def __getattr__(self, name: str) -> Any: method __setattr__ (line 2741) | def __setattr__(self, name: str, value: str) -> None: method serialize (line 2745) | def serialize(self, memo = None) -> Dict[str, Any]: method deserialize (line 2749) | def deserialize(cls, data: Dict[str, Any], memo: Dict[int, Union[Termi... class Lark (line 2765) | class Lark(Serialize): method __init__ (line 2776) | def __init__(self, grammar: 'Union[Grammar, str, IO[str]]', **options)... method _build_lexer (line 2989) | def _build_lexer(self, dont_ignore: bool=False) -> BasicLexer: method _prepare_callbacks (line 2997) | def _prepare_callbacks(self) -> None: method _build_parser (line 3012) | def _build_parser(self) -> "ParsingFrontend": method save (line 3024) | def save(self, f, exclude_options: Collection[str] = ()) -> None: method load (line 3032) | def load(cls: Type[_T], f) -> _T: method _deserialize_lexer_conf (line 3037) | def _deserialize_lexer_conf(self, data: Dict[str, Any], memo: Dict[int... method _load (line 3047) | def _load(self: _T, f: Any, **kwargs) -> _T: method _load_from_dict (line 3081) | def _load_from_dict(cls, data, memo, **kwargs): method open (line 3086) | def open(cls: Type[_T], grammar_filename: str, rel_to: Optional[str]=N... method open_from_package (line 3095) | def open_from_package(cls: Type[_T], package: str, grammar_path: str, ... method __repr__ (line 3104) | def __repr__(self): method lex (line 3108) | def lex(self, text: str, dont_ignore: bool=False) -> Iterator[Token]: method get_terminal (line 3121) | def get_terminal(self, name: str) -> TerminalDef: method parse_interactive (line 3125) | def parse_interactive(self, text: Optional[str]=None, start: Optional[... method parse (line 3129) | def parse(self, text: str, start: Optional[str]=None, on_error: 'Optio... class DedentError (line 3136) | class DedentError(LarkError): class Indenter (line 3139) | class Indenter(PostLex, ABC): method __init__ (line 3143) | def __init__(self) -> None: method handle_NL (line 3148) | def handle_NL(self, token: Token) -> Iterator[Token]: method _process (line 3169) | def _process(self, stream): method process (line 3188) | def process(self, stream): method always_accept (line 3196) | def always_accept(self): method NL_type (line 3201) | def NL_type(self) -> str: method OPEN_PAREN_types (line 3206) | def OPEN_PAREN_types(self) -> List[str]: method CLOSE_PAREN_types (line 3211) | def CLOSE_PAREN_types(self) -> List[str]: method INDENT_type (line 3216) | def INDENT_type(self) -> str: method DEDENT_type (line 3221) | def DEDENT_type(self) -> str: method tab_len (line 3226) | def tab_len(self) -> int: class PythonIndenter (line 3230) | class PythonIndenter(Indenter): function Lark_StandAlone (line 3248) | def Lark_StandAlone(**kwargs): FILE: mocodo/phantom.py class Phantom (line 1) | class Phantom: method reset_counter (line 6) | def reset_counter(cls): method __init__ (line 9) | def __init__(self): method calculate_size (line 19) | def calculate_size(self, *ignored): method register_center (line 23) | def register_center(self, geo): method register_boxes (line 26) | def register_boxes(self, boxes): FILE: mocodo/rewrite/_arrange.py function run (line 5) | def run(source, subargs, **kargs): FILE: mocodo/rewrite/_drain.py class DrainerFirstPass (line 9) | class DrainerFirstPass(Visitor): method __init__ (line 14) | def __init__(self): method assoc_clause (line 17) | def assoc_clause(self, tree): class DrainerSecondPass (line 51) | class DrainerSecondPass(Visitor): method __init__ (line 55) | def __init__(self, drained_attrs): method entity_clause (line 58) | def entity_clause(self, tree): function run (line 71) | def run(source, **kargs): FILE: mocodo/rewrite/_drown.py class Numbering (line 5) | class Numbering(Visitor): method __init__ (line 7) | def __init__(self, tree, params): method update_box_attrs (line 30) | def update_box_attrs(self, tree, token_name): method box_name (line 37) | def box_name(self, tree): method entity_clause (line 41) | def entity_clause(self, tree): method assoc_clause (line 44) | def assoc_clause(self, tree): function run (line 50) | def run(source, params, **kargs): FILE: mocodo/rewrite/_explode.py class Exploder (line 7) | class Exploder(Visitor): method __init__ (line 9) | def __init__(self, subargs, params): method line (line 32) | def line(self, tree): function run (line 99) | def run(source, subargs=None, params=None, **kargs): FILE: mocodo/rewrite/_grow.py function random_booleans (line 9) | def random_booleans(n, p): function calculate_cards (line 15) | def calculate_cards(scheme, refs): function extract_weak_entities (line 27) | def extract_weak_entities(cards, refs): function biased_choice (line 32) | def biased_choice(elements): function biased_sample (line 37) | def biased_sample(elements, k): function run (line 46) | def run(source, subargs=None, params=None, **kargs): FILE: mocodo/rewrite/_split.py class Splitter (line 8) | class Splitter(Visitor): method line (line 10) | def line(self, tree): function run (line 82) | def run(source, **kargs): FILE: mocodo/rewrite/arrange_bb.py function arrange (line 12) | def arrange(source, subargs, has_expired): FILE: mocodo/rewrite/arrange_ga.py function arrange (line 8) | def arrange(source, subargs, has_expired): FILE: mocodo/rewrite/arrows.py class ArrowsHere (line 4) | class ArrowsHere(Visitor): method assoc_leg (line 6) | def assoc_leg(self, tree): class ArrowsAcross (line 14) | class ArrowsAcross(Visitor): method assoc_clause (line 16) | def assoc_clause(self, tree): function create_df_arrows (line 27) | def create_df_arrows(source, where): FILE: mocodo/rewrite/cards.py function fix_card (line 6) | def fix_card( class DfInference (line 20) | class DfInference(Visitor): method __init__ (line 22) | def __init__(self, df_label): method assoc_clause (line 25) | def assoc_clause(self, tree): function infer_dfs (line 40) | def infer_dfs(source, df_label): class RoleInference (line 46) | class RoleInference(Visitor): method assoc_clause (line 48) | def assoc_clause(self, tree): function infer_roles (line 64) | def infer_roles(source): FILE: mocodo/rewrite/constraints.py class CreateCifs (line 7) | class CreateCifs(Visitor): method __init__ (line 9) | def __init__(self): method entity_clause (line 14) | def entity_clause(self, tree): method assoc_clause (line 20) | def assoc_clause(self, tree): method constraint_clause (line 33) | def constraint_clause(self, tree): method get_new_cifs (line 56) | def get_new_cifs(self, hidden_links_from_sources=False): function create_cifs (line 73) | def create_cifs(source, subsubarg): FILE: mocodo/rewrite/cross.py function cross (line 6) | def cross(x1, y1, x2, y2, x3, y3, x4, y4): FILE: mocodo/rewrite/damerau_levenshtein.py function distance (line 4) | def distance(seq1, seq2): FILE: mocodo/rewrite/fitness.py function fitness (line 6) | def fitness(links, multiplicity, col_count, row_count, max_distance = 4): FILE: mocodo/rewrite/guess_entities.py function run (line 4) | def run(source, id_prefix): FILE: mocodo/rewrite/obfuscate.py function random_words_generator (line 10) | def random_words_generator( function obfuscator_factory (line 28) | def obfuscator_factory(pool, params): FILE: mocodo/rewrite/op_tk.py class Mapper (line 48) | class Mapper(Transformer): method __init__ (line 50) | def __init__(self, op_name, pre_token, subsubarg, params): function run (line 93) | def run(source, op_name, subargs, params, **kargs): FILE: mocodo/rewrite/types.py class CreateTypePlaceholder (line 8) | class CreateTypePlaceholder(Visitor): method __init__ (line 10) | def __init__(self, subsubarg): method typed_attr (line 13) | def typed_attr(self, tree): function create_type_placeholders (line 17) | def create_type_placeholders(source, subsubarg): function read_default_datatypes (line 23) | def read_default_datatypes(resource_dir, language="en"): class GuessType (line 33) | class GuessType(Visitor): method __init__ (line 35) | def __init__(self,params): method typed_attr (line 47) | def typed_attr(self, tree): function guess_types (line 69) | def guess_types(source, params): FILE: mocodo/tools/graphviz_tools.py function create_name_to_index (line 3) | def create_name_to_index(): function minify_graphviz (line 16) | def minify_graphviz(text): function row_format_to_td_templates (line 75) | def row_format_to_td_templates( function table_as_label (line 107) | def table_as_label(header_text, rows, row_format, style): FILE: mocodo/tools/load_mini_yaml.py function parse_value (line 4) | def parse_value(v): function run (line 28) | def run(path): FILE: mocodo/tools/parser_tools.py function parse_source (line 6) | def parse_source(source): class Reconstructor (line 84) | class Reconstructor(Visitor): method __init__ (line 86) | def __init__(self): method __default__ (line 89) | def __default__(self, tree): function reconstruct_source (line 94) | def reconstruct_source(tree): function transform_source (line 102) | def transform_source(source, transformer): class ClauseExtractor (line 110) | class ClauseExtractor(Transformer): method _item (line 128) | def _item(self, key, tree): method start (line 149) | def start(self, tree): method line (line 152) | def line(self, tree): method break_ (line 158) | def break_(self, tree): method phantoms (line 161) | def phantoms(self, tree): method comment (line 164) | def comment(self, tree): method entity_clause (line 167) | def entity_clause(self, tree): method assoc_clause (line 170) | def assoc_clause(self, tree): method constraint_clause (line 173) | def constraint_clause(self, tree): method inheritance_clause (line 176) | def inheritance_clause(self, tree): method typed_attr (line 185) | def typed_attr(self, tree): method assoc_leg (line 188) | def assoc_leg(self, tree): method inheritance_parent (line 191) | def inheritance_parent(self, tree): method inheritance_child (line 194) | def inheritance_child(self, tree): method foreign_reference (line 197) | def foreign_reference(self, tree): method box_name (line 200) | def box_name(self, tree): method seq (line 203) | def seq(self, tree): method assoc_attr (line 210) | def assoc_attr(self, tree): method assoc_leg (line 215) | def assoc_leg(self, tree): method constraint_target (line 218) | def constraint_target(self, tree): method foreign_reference (line 221) | def foreign_reference(self, tree): method entity_or_table_attr (line 224) | def entity_or_table_attr(self, tree): method this_table_attr (line 232) | def this_table_attr(self, tree): method that_table (line 235) | def that_table(self, tree): method that_table_attr (line 238) | def that_table_attr(self, tree): method constraint_coords (line 241) | def constraint_coords(self, tree): method _constraint_coord (line 244) | def _constraint_coord(self, x): method indent (line 251) | def indent(self, tree): method datatype (line 254) | def datatype(self, tree): method id_groups (line 257) | def id_groups(self, tree): function extract_clauses (line 260) | def extract_clauses(source): function first_child (line 281) | def first_child(tree, name, i=0): function is_identifier (line 287) | def is_identifier(i, id_groups, id_mark): FILE: mocodo/tools/pluralize_fr.py function pluralize (line 59) | def pluralize(word): FILE: mocodo/tools/string_tools.py function wrap_label (line 9) | def wrap_label(s, wrapping_ratio=2): function rstrip_digit_or_underline (line 21) | def rstrip_digit_or_underline(s): function surrounds (line 28) | def surrounds(s, ends): function strip_surrounds (line 35) | def strip_surrounds(s, ends): function is_a_description (line 42) | def is_a_description(note): function ascii (line 55) | def ascii(s, outliers=str.maketrans(dict(zip(LATIN.split(), ASCII.split(... function raw_to_bid (line 58) | def raw_to_bid(box_raw_name): function aggressive_split (line 61) | def aggressive_split( function spare_protected_suffix (line 90) | def spare_protected_suffix( function camel (line 105) | def camel(input_string): function pascal (line 110) | def pascal(input_string): function snake (line 114) | def snake(input_string): function urlsafe_encoding (line 117) | def urlsafe_encoding(text): function markdown_table (line 122) | def markdown_table(rows, formats=None): FILE: mocodo/tools/various.py function invert_dict (line 1) | def invert_dict(d): function first_missing_positive (line 4) | def first_missing_positive(l): FILE: test/test_api.py class TestMocodoApi (line 13) | class TestMocodoApi(unittest.TestCase): method test_unrecognized_arguments (line 15) | def test_unrecognized_arguments(self): method test_no_arguments (line 19) | def test_no_arguments(self): method test_help (line 34) | def test_help(self): method test_version (line 38) | def test_version(self): method test_language (line 42) | def test_language(self): method test_input_and_output_dir (line 48) | def test_input_and_output_dir(self): FILE: test/test_argument_parser.py class TestSubArguments (line 9) | class TestSubArguments(unittest.TestCase): method test_extract_subargs (line 10) | def test_extract_subargs(self): FILE: test/test_arrange_bb.py class ArrangeBB (line 12) | class ArrangeBB(unittest.TestCase): method test_constraints (line 14) | def test_constraints(self): method test_non_connected_graph (line 161) | def test_non_connected_graph(self): method test_no_link (line 198) | def test_no_link(self): method test_inheritance (line 230) | def test_inheritance(self): FILE: test/test_arrange_ga.py class ArrangeGA (line 11) | class ArrangeGA(unittest.TestCase): method test_arrange (line 13) | def test_arrange(self): FILE: test/test_association.py function association_wrapper (line 11) | def association_wrapper(s, **kargs): class ParseTest (line 15) | class ParseTest(unittest.TestCase): method test_reflexive (line 17) | def test_reflexive(self): method test_double (line 28) | def test_double(self): method test_triple (line 47) | def test_triple(self): method test_arrow (line 65) | def test_arrow(self): method test_note (line 72) | def test_note(self): method test_note_in_agregation (line 79) | def test_note_in_agregation(self): method test_attributes (line 88) | def test_attributes(self): method test_identifiers (line 98) | def test_identifiers(self): method test_other_card (line 103) | def test_other_card(self): method test_numbered_association_wrapper (line 114) | def test_numbered_association_wrapper(self): method test_df (line 122) | def test_df(self): method test_cluster_of_one_entity (line 131) | def test_cluster_of_one_entity(self): method test_cluster_of_two_entities (line 134) | def test_cluster_of_two_entities(self): FILE: test/test_convert_chen.py class TestChen (line 11) | class TestChen(unittest.TestCase): method test111N (line 13) | def test111N(self): method test011N (line 26) | def test011N(self): method test0N1N (line 39) | def test0N1N(self): method test_110N (line 55) | def test_110N(self): method test_gerund (line 68) | def test_gerund(self): method test_NNN (line 85) | def test_NNN(self): method test_1NN (line 100) | def test_1NN(self): method test_11N (line 115) | def test_11N(self): method test_111 (line 130) | def test_111(self): method test_attrs (line 145) | def test_attrs(self): method test_id_weakness (line 165) | def test_id_weakness(self): FILE: test/test_cross.py class CrossTests (line 7) | class CrossTests(unittest.TestCase): method test_non_parallel_normal_intersection (line 9) | def test_non_parallel_normal_intersection(self): method test_non_parallel_intersection_is_one_extremity (line 16) | def test_non_parallel_intersection_is_one_extremity(self): method test_non_parallel_intersection_is_two_extremities (line 26) | def test_non_parallel_intersection_is_two_extremities(self): method test_non_parallel_no_intersection (line 31) | def test_non_parallel_no_intersection(self): method test_parallel_no_intersection (line 39) | def test_parallel_no_intersection(self): method test_colinear_intersection_is_two_extremities (line 45) | def test_colinear_intersection_is_two_extremities(self): method test_colinear_no_intersection (line 49) | def test_colinear_no_intersection(self): method test_colinear_intersection_is_partial_segment (line 52) | def test_colinear_intersection_is_partial_segment(self): method test_colinear_intersection_is_partial_segment_horizontal (line 55) | def test_colinear_intersection_is_partial_segment_horizontal(self): method test_colinear_intersection_is_partial_segment_vertical (line 58) | def test_colinear_intersection_is_partial_segment_vertical(self): method test_colinear_intersection_is_complete_segment_horizontal (line 61) | def test_colinear_intersection_is_complete_segment_horizontal(self): method test_colinear_intersection_is_complete_segment_vertical (line 74) | def test_colinear_intersection_is_complete_segment_vertical(self): method test_colinear_intersection_is_complete_segment (line 79) | def test_colinear_intersection_is_complete_segment(self): FILE: test/test_data_dict.py class TestDataDict (line 9) | class TestDataDict(unittest.TestCase): method test_data_dict (line 11) | def test_data_dict(self): method test_data_dict_with_invisible_boxes (line 108) | def test_data_dict_with_invisible_boxes(self): FILE: test/test_entity.py function entity_wrapper (line 8) | def entity_wrapper(s, legs_to_strengthen=None, is_child=False): class EntityTest (line 15) | class EntityTest(unittest.TestCase): method test_default (line 17) | def test_default(self): method test_datatypes (line 30) | def test_datatypes(self): method test_numbered_entity (line 39) | def test_numbered_entity(self): method test_blank (line 47) | def test_blank(self): method test_all_blank (line 52) | def test_all_blank(self): method test_no_identifier_at_first_position (line 57) | def test_no_identifier_at_first_position(self): method test_no_identifier_for_children (line 62) | def test_no_identifier_for_children(self): method test_multiple_strong_identifier (line 67) | def test_multiple_strong_identifier(self): method test_weak_identifier (line 72) | def test_weak_identifier(self): method test_weak_composite_identifier (line 77) | def test_weak_composite_identifier(self): class CandidateIdentifiersTest (line 83) | class CandidateIdentifiersTest(unittest.TestCase): method check (line 85) | def check(self, expected_candidates, expected_id_texts, legs_to_streng... method test_simple_id (line 94) | def test_simple_id(self): method test_no_id (line 103) | def test_no_id(self): method test_composite_id (line 113) | def test_composite_id(self): method test_pushed_simple_id (line 123) | def test_pushed_simple_id(self): method test_pushed_composite_id (line 135) | def test_pushed_composite_id(self): method test_simple_weak_id (line 153) | def test_simple_weak_id(self): method test_no_weak_id (line 163) | def test_no_weak_id(self): method test_composite_weak_id (line 174) | def test_composite_weak_id(self): method test_pushed_simple_weak_id (line 185) | def test_pushed_simple_weak_id(self): method test_pushed_composite_weak_id (line 198) | def test_pushed_composite_weak_id(self): method test_alt_ids_and_simple_id (line 217) | def test_alt_ids_and_simple_id(self): method test_alt_ids_and_no_id (line 233) | def test_alt_ids_and_no_id(self): method test_alt_ids_and_composite_id (line 243) | def test_alt_ids_and_composite_id(self): method test_alt_ids_and_pushed_simple_id (line 272) | def test_alt_ids_and_pushed_simple_id(self): method test_alt_ids_and_pushed_composite_id (line 305) | def test_alt_ids_and_pushed_composite_id(self): method test_alt_ids_and_simple_id (line 338) | def test_alt_ids_and_simple_id(self): FILE: test/test_fitness.py class ArrangeBB (line 10) | class ArrangeBB(unittest.TestCase): method test_optimal_layout (line 12) | def test_optimal_layout(self): method test_optimal_layout_with_reflexive_association (line 30) | def test_optimal_layout_with_reflexive_association(self): method test_diagonal_reflexive_association (line 51) | def test_diagonal_reflexive_association(self): method test_2_0_link (line 69) | def test_2_0_link(self): method test_1_1_link (line 86) | def test_1_1_link(self): method test_2_1_link (line 104) | def test_2_1_link(self): method test_k33 (line 124) | def test_k33(self): method test_k33_better (line 143) | def test_k33_better(self): FILE: test/test_grid.py class GridTests (line 7) | class GridTests(unittest.TestCase): method test_constructor (line 9) | def test_constructor(self): method test_nth_next (line 13) | def test_nth_next(self): FILE: test/test_guess_title.py class TestDumps (line 7) | class TestDumps(unittest.TestCase): method test_guess_title (line 9) | def test_guess_title(self): FILE: test/test_inheritance.py function inheritance_wrapper (line 11) | def inheritance_wrapper(s, **kargs): class parse_test (line 14) | class parse_test(unittest.TestCase): method test_backslash_conservation (line 16) | def test_backslash_conservation(self): method test_numbered_inheritance (line 24) | def test_numbered_inheritance(self): FILE: test/test_mcd.py class McdTest (line 13) | class McdTest(unittest.TestCase): method test_entity_recognition (line 15) | def test_entity_recognition(self): method test_association_recognition (line 26) | def test_association_recognition(self): method test_constraint_recognition (line 47) | def test_constraint_recognition(self): method test_rows (line 64) | def test_rows(self): method test_layout (line 87) | def test_layout(self): method test_input_errors (line 190) | def test_input_errors(self): method test_duplicate_errors (line 197) | def test_duplicate_errors(self): method test_constraint_errors (line 223) | def test_constraint_errors(self): method test_flip (line 231) | def test_flip(self): method test_explicit_fit (line 330) | def test_explicit_fit(self): method test_implicit_fit_produces_min_grid_next (line 415) | def test_implicit_fit_produces_min_grid_next(self): method test_no_overlapping (line 458) | def test_no_overlapping(self): method test_no_overlapping_with_reflexive_associations (line 469) | def test_no_overlapping_with_reflexive_associations(self): method test_horizontal_legs_overlap (line 494) | def test_horizontal_legs_overlap(self): method test_vertical_legs_overlap (line 515) | def test_vertical_legs_overlap(self): method test_leg_overlaps_entity (line 534) | def test_leg_overlaps_entity(self): method test_leg_overlaps_association (line 551) | def test_leg_overlaps_association(self): FILE: test/test_mcd_dimensions.py function stub_for_get_font_metrics (line 48) | def stub_for_get_font_metrics(s): function get_dimensions (line 53) | def get_dimensions(mcd, verbose=False): class McdGeometryTest (line 72) | class McdGeometryTest(unittest.TestCase): method test_simplest_mcd (line 74) | def test_simplest_mcd(self): method test_read_me_mcd (line 81) | def test_read_me_mcd(self): method test_mocodo_online_mcd (line 113) | def test_mocodo_online_mcd(self): FILE: test/test_parser_tools.py function fuzzer (line 141) | def fuzzer(seed=0): class MocodoErrorTest (line 230) | class MocodoErrorTest(unittest.TestCase): method test_mocodo_errors (line 231) | def test_mocodo_errors(self): class TestReconstructSource (line 250) | class TestReconstructSource(unittest.TestCase): method test_reconstruct_source (line 251) | def test_reconstruct_source(self): method test_alignment (line 259) | def test_alignment(self): FILE: test/test_read_template.py class TestReadTemplate (line 15) | class TestReadTemplate(unittest.TestCase): method test_root_template (line 17) | def test_root_template(self): method test_child_template (line 22) | def test_child_template(self): method test_grandchild_template (line 27) | def test_grandchild_template(self): method test_errors (line 32) | def test_errors(self): FILE: test/test_relations.py function debug_table (line 18) | def debug_table(t): class relationsTest (line 24) | class relationsTest(unittest.TestCase): method test_arrows_are_ignored (line 26) | def test_arrows_are_ignored(self): method test_reciprocical_relative_entities (line 41) | def test_reciprocical_relative_entities(self): method test_association_attributes (line 115) | def test_association_attributes(self): method test_weak_entities_strengthened_by_itself (line 128) | def test_weak_entities_strengthened_by_itself(self): method test_weak_entities_strengthened_by_several_entities (line 136) | def test_weak_entities_strengthened_by_several_entities(self): method test_weak_entities_with_cycle (line 156) | def test_weak_entities_with_cycle(self): method test_disambiguation_by_role (line 167) | def test_disambiguation_by_role(self): method test_disambiguation_by_number (line 190) | def test_disambiguation_by_number(self): method test_disambiguation_by_role_then_number (line 213) | def test_disambiguation_by_role_then_number(self): method test_inheritance_leftwards_double_arrow (line 231) | def test_inheritance_leftwards_double_arrow(self): method test_inheritance_leftwards_simple_arrow (line 257) | def test_inheritance_leftwards_simple_arrow(self): method test_inheritance_rightwards_simple_arrow (line 282) | def test_inheritance_rightwards_simple_arrow(self): method test_inheritance_rightwards_double_arrow_with_totality (line 310) | def test_inheritance_rightwards_double_arrow_with_totality(self): method test_inheritance_rightwards_double_arrow_without_totality (line 337) | def test_inheritance_rightwards_double_arrow_without_totality(self): method test_inheritance_leftwards_simple_arrow_unpretty (line 347) | def test_inheritance_leftwards_simple_arrow_unpretty(self): method test_inheritance_with_unique_child (line 371) | def test_inheritance_with_unique_child(self): method test_inheritance_with_distant_leg_note (line 395) | def test_inheritance_with_distant_leg_note(self): method test_two_same_type_inheritances (line 416) | def test_two_same_type_inheritances(self): method test_roles_with_inheritance (line 442) | def test_roles_with_inheritance(self): FILE: test/test_rewrite_cards.py class TestUpdateCards (line 9) | class TestUpdateCards(unittest.TestCase): method test_infer_df (line 11) | def test_infer_df(self): method test_fix_cards (line 40) | def test_fix_cards(self): method test_delete_cards (line 46) | def test_delete_cards(self): method test_change_capitalization_cards (line 52) | def test_change_capitalization_cards(self): method test_infer_roles (line 62) | def test_infer_roles(self): FILE: test/test_rewrite_decompose.py class TestUpdater (line 12) | class TestUpdater(unittest.TestCase): method test_split (line 13) | def test_split(self): method test_explode_weak (line 66) | def test_explode_weak(self): method test_explode_arity (line 96) | def test_explode_arity(self): # TODO: more cases method test_explode_cluster (line 123) | def test_explode_cluster(self): method test_drain (line 142) | def test_drain(self): FILE: test/test_rewrite_grow.py class TestGrow (line 9) | class TestGrow(unittest.TestCase): method test_default (line 11) | def test_default(self): FILE: test/test_rewrite_labels.py class TestUpdateLabels (line 11) | class TestUpdateLabels(unittest.TestCase): method test_upper (line 13) | def test_upper(self): method test_obfuscate (line 19) | def test_obfuscate(self): method test_obfuscate_df (line 52) | def test_obfuscate_df(self): method test_obfuscate_pool_too_small (line 69) | def test_obfuscate_pool_too_small(self): FILE: test/test_rewrite_types.py class TestUpdateTypes (line 8) | class TestUpdateTypes(unittest.TestCase): method test_create (line 10) | def test_create(self): method test_guess_types (line 24) | def test_guess_types(self): FILE: test/test_string_tools.py class StringToolsTest (line 8) | class StringToolsTest(unittest.TestCase): method test_wrap_label (line 10) | def test_wrap_label(self): method test_rstrip_digit_or_underline (line 56) | def test_rstrip_digit_or_underline(self): method test_surrounds (line 66) | def test_surrounds(self): method test_snake (line 75) | def test_snake(self): method test_camel (line 97) | def test_camel(self): method test_pascal (line 119) | def test_pascal(self): method test_aggressive_split (line 141) | def test_aggressive_split(self): FILE: test/test_zoo.py function save (line 34) | def save(path, text): function main (line 39) | def main(): function test_launch_snapshot (line 204) | def test_launch_snapshot(capsys): FILE: test/zoo/alt/ddl/alt_0_ddl.sql type CLIENT (line 1) | CREATE TABLE CLIENT ( type FOO (line 12) | CREATE TABLE FOO ( type UTILISER (line 25) | CREATE TABLE UTILISER ( FILE: test/zoo/basic/ddl/basic_0_ddl.sql type CLIENT (line 1) | CREATE TABLE CLIENT ( type COMMANDE (line 9) | CREATE TABLE COMMANDE ( type INCLURE (line 17) | CREATE TABLE INCLURE ( type PRODUIT (line 24) | CREATE TABLE PRODUIT ( FILE: test/zoo/basic/ddl/basic_1_ddl.sql type CLIENT (line 1) | CREATE TABLE CLIENT ( type COMMANDE (line 9) | CREATE TABLE COMMANDE ( type INCLURE (line 17) | CREATE TABLE INCLURE ( type PRODUIT (line 24) | CREATE TABLE PRODUIT ( FILE: test/zoo/basic/ddl/basic_2_ddl.sql type CLIENT (line 1) | CREATE TABLE CLIENT ( type COMMANDE (line 9) | CREATE TABLE COMMANDE ( type INCLURE (line 17) | CREATE TABLE INCLURE ( type PRODUIT (line 24) | CREATE TABLE PRODUIT ( FILE: test/zoo/cluster_NN1/ddl/cluster_NN1_0_ddl.sql type RESERVATION (line 1) | CREATE TABLE RESERVATION ( type SEMAINE (line 12) | CREATE TABLE SEMAINE ( type VOILIER (line 19) | CREATE TABLE VOILIER ( FILE: test/zoo/complex/ddl/complex_ddl.sql type ANIMAL (line 1) | CREATE TABLE ANIMAL ( type ESPECE (line 18) | CREATE TABLE ESPECE ( type OCCUPE (line 26) | CREATE TABLE OCCUPE ( type PEUT_COHABITER_AVEC (line 36) | CREATE TABLE PEUT_COHABITER_AVEC ( type PEUT_VIVRE_DANS (line 43) | CREATE TABLE PEUT_VIVRE_DANS ( FILE: test/zoo/drain/ddl/drain_ddl.sql type ENTREPRISE (line 1) | CREATE TABLE ENTREPRISE ( type ETUDIANT (line 8) | CREATE TABLE ETUDIANT ( type STAGE (line 19) | CREATE TABLE STAGE ( FILE: test/zoo/gerund/ddl/gerund_0_ddl.sql type LIGNE_DE_COMMANDE (line 1) | CREATE TABLE LIGNE_DE_COMMANDE ( FILE: test/zoo/gerund/ddl/gerund_1_ddl.sql type COMMANDE (line 1) | CREATE TABLE COMMANDE ( type LIGNE_DE_COMMANDE (line 7) | CREATE TABLE LIGNE_DE_COMMANDE ( type PRODUIT (line 14) | CREATE TABLE PRODUIT ( FILE: test/zoo/inheritance/ddl/inheritance_0_ddl.sql type ALIQUET (line 1) | CREATE TABLE ALIQUET ( type CONSEQUAT (line 7) | CREATE TABLE CONSEQUAT ( type CURABITUR (line 13) | CREATE TABLE CURABITUR ( type DIGNISSIM (line 19) | CREATE TABLE DIGNISSIM ( type LIBERO (line 25) | CREATE TABLE LIBERO ( type QUAM (line 31) | CREATE TABLE QUAM ( type SUSCIPIT (line 38) | CREATE TABLE SUSCIPIT ( type TRISTIS (line 45) | CREATE TABLE TRISTIS ( type ULTRICES (line 60) | CREATE TABLE ULTRICES ( FILE: test/zoo/inheritance/ddl/inheritance_1_ddl.sql type ALIQUET (line 1) | CREATE TABLE ALIQUET ( type CONSEQUAT (line 7) | CREATE TABLE CONSEQUAT ( type CURABITUR (line 13) | CREATE TABLE CURABITUR ( type DIGNISSIM (line 19) | CREATE TABLE DIGNISSIM ( type LACUS (line 25) | CREATE TABLE LACUS ( type LIBERO (line 32) | CREATE TABLE LIBERO ( type NEC (line 38) | CREATE TABLE NEC ( type QUAM (line 46) | CREATE TABLE QUAM ( type SODALES (line 53) | CREATE TABLE SODALES ( type SUSCIPIT (line 60) | CREATE TABLE SUSCIPIT ( type TRISTIS (line 67) | CREATE TABLE TRISTIS ( type ULTRICES (line 75) | CREATE TABLE ULTRICES ( FILE: test/zoo/inheritance/ddl/inheritance_2_ddl.sql type ALIQUET (line 1) | CREATE TABLE ALIQUET ( type CONSEQUAT (line 8) | CREATE TABLE CONSEQUAT ( type CURABITUR (line 14) | CREATE TABLE CURABITUR ( type DIGNISSIM (line 20) | CREATE TABLE DIGNISSIM ( type LACUS (line 26) | CREATE TABLE LACUS ( type LIBERO (line 35) | CREATE TABLE LIBERO ( type NEC (line 41) | CREATE TABLE NEC ( type QUAM (line 51) | CREATE TABLE QUAM ( type SODALES (line 58) | CREATE TABLE SODALES ( type SUSCIPIT (line 67) | CREATE TABLE SUSCIPIT ( type ULTRICES (line 75) | CREATE TABLE ULTRICES ( FILE: test/zoo/inheritance/ddl/inheritance_3_ddl.sql type TRISTIS (line 1) | CREATE TABLE TRISTIS ( type ULTRICES (line 16) | CREATE TABLE ULTRICES ( FILE: test/zoo/inheritance/ddl/inheritance_4_ddl.sql type LACUS (line 1) | CREATE TABLE LACUS ( type NEC (line 8) | CREATE TABLE NEC ( type SODALES (line 17) | CREATE TABLE SODALES ( type TRISTIS (line 24) | CREATE TABLE TRISTIS ( type ULTRICES (line 31) | CREATE TABLE ULTRICES ( FILE: test/zoo/inheritance/ddl/inheritance_5_ddl.sql type LACUS (line 1) | CREATE TABLE LACUS ( type NEC (line 9) | CREATE TABLE NEC ( type SODALES (line 19) | CREATE TABLE SODALES ( type ULTRICES (line 27) | CREATE TABLE ULTRICES ( FILE: test/zoo/inheritance_weak/ddl/strong_child_0_ddl.sql type CONTRAT (line 1) | CREATE TABLE CONTRAT ( type PROFESSEUR (line 8) | CREATE TABLE PROFESSEUR ( type SALARIE (line 16) | CREATE TABLE SALARIE ( type VACATAIRE (line 24) | CREATE TABLE VACATAIRE ( FILE: test/zoo/inheritance_weak/ddl/strong_child_1_ddl.sql type CONTRAT (line 1) | CREATE TABLE CONTRAT ( type PROFESSEUR (line 8) | CREATE TABLE PROFESSEUR ( FILE: test/zoo/inheritance_weak/ddl/strong_child_2_ddl.sql type CONTRAT (line 1) | CREATE TABLE CONTRAT ( type SALARIE (line 8) | CREATE TABLE SALARIE ( type VACATAIRE (line 19) | CREATE TABLE VACATAIRE ( FILE: test/zoo/landing/ddl/landing_ddl.sql type AYANT_DROIT (line 1) | CREATE TABLE AYANT_DROIT ( type COMPOSER (line 8) | CREATE TABLE COMPOSER ( type DEPARTEMENT (line 15) | CREATE TABLE DEPARTEMENT ( type EMPLOYE (line 21) | CREATE TABLE EMPLOYE ( type FOURNIR (line 28) | CREATE TABLE FOURNIR ( type PIECE (line 36) | CREATE TABLE PIECE ( type PROJET (line 42) | CREATE TABLE PROJET ( type REQUERIR (line 49) | CREATE TABLE REQUERIR ( type SOCIETE (line 56) | CREATE TABLE SOCIETE ( type TRAVAILLER (line 63) | CREATE TABLE TRAVAILLER ( FILE: test/zoo/protected/ddl/protected_0_ddl.sql type AGENCE (line 1) | CREATE TABLE AGENCE ( type DIRECTION_REGIONALE (line 7) | CREATE TABLE DIRECTION_REGIONALE ( type SUPERVISER (line 13) | CREATE TABLE SUPERVISER ( FILE: test/zoo/reflexive/ddl/reflexive_0_ddl.sql type COMPOSER (line 1) | CREATE TABLE COMPOSER ( type HOMME (line 7) | CREATE TABLE HOMME ( FILE: test/zoo/split/ddl/split_ddl.sql type BATAILLE (line 1) | CREATE TABLE BATAILLE ( type TROPHEE (line 8) | CREATE TABLE TROPHEE ( type VILLAGEOIS (line 17) | CREATE TABLE VILLAGEOIS ( FILE: test/zoo/ternary_unicity/ddl/ternary_unicity_0_ddl.sql type DISPONIBILITE (line 1) | CREATE TABLE DISPONIBILITE ( type RESERVATION (line 7) | CREATE TABLE RESERVATION ( type SEMAINE (line 19) | CREATE TABLE SEMAINE ( FILE: test/zoo/triple_111/ddl/triple_111_0_ddl.sql type UTILISER (line 1) | CREATE TABLE UTILISER ( FILE: test/zoo/triple_111/ddl/triple_111_1_ddl.sql type PROJET (line 1) | CREATE TABLE PROJET ( type TECHNICIEN (line 7) | CREATE TABLE TECHNICIEN ( type UTILISER (line 13) | CREATE TABLE UTILISER ( FILE: test/zoo/triple_N11/ddl/triple_N11_0_ddl.sql type AFFECTER (line 1) | CREATE TABLE AFFECTER ( FILE: test/zoo/triple_N11/ddl/triple_N11_1_ddl.sql type AFFECTER (line 1) | CREATE TABLE AFFECTER ( type EMPLOYE (line 9) | CREATE TABLE EMPLOYE ( type PROJET (line 15) | CREATE TABLE PROJET ( type SITE (line 21) | CREATE TABLE SITE ( FILE: test/zoo/triple_NN1/ddl/triple_NN1_0_ddl.sql type GERER (line 1) | CREATE TABLE GERER ( FILE: test/zoo/triple_NN1/ddl/triple_NN1_1_ddl.sql type GERER (line 1) | CREATE TABLE GERER ( type INGENIEUR (line 8) | CREATE TABLE INGENIEUR ( type PROJET (line 14) | CREATE TABLE PROJET ( type RESPONSABLE (line 20) | CREATE TABLE RESPONSABLE ( FILE: test/zoo/triple_NNN/ddl/triple_NNN_0_ddl.sql type APPLIQUER (line 1) | CREATE TABLE APPLIQUER ( FILE: test/zoo/triple_NNN/ddl/triple_NNN_1_ddl.sql type APPLIQUER (line 1) | CREATE TABLE APPLIQUER ( type COMPETENCE (line 8) | CREATE TABLE COMPETENCE ( type EMPLOYE (line 14) | CREATE TABLE EMPLOYE ( type PROJET (line 20) | CREATE TABLE PROJET ( FILE: test/zoo/weak/ddl/weak_0_ddl.sql type EXEMPLAIRE (line 1) | CREATE TABLE EXEMPLAIRE ( FILE: test/zoo/weak/ddl/weak_1_ddl.sql type EXEMPLAIRE (line 1) | CREATE TABLE EXEMPLAIRE ( type OEUVRE (line 10) | CREATE TABLE OEUVRE ( FILE: test/zoo/weak/ddl/weak_2_ddl.sql type APPARTEMENT (line 1) | CREATE TABLE APPARTEMENT ( type ETAGE (line 10) | CREATE TABLE ETAGE ( type IMMEUBLE (line 18) | CREATE TABLE IMMEUBLE ( type RUE (line 25) | CREATE TABLE RUE ( FILE: web/ace-builds/ace.js function o (line 1) | function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.defin... function r (line 1) | function r(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!1,writa... function u (line 1) | function u(){var e=o;o=null,e&&e.forEach(function(e){a(e[0],e[1])})} function a (line 1) | function a(e,n,r){if(typeof document=="undefined")return;if(o)if(r)u();e... function o (line 1) | function o(e){typeof console!="undefined"&&console.warn&&console.warn.ap... function u (line 1) | function u(e,t){var n=new Error(e);n.data=t,typeof console=="object"&&co... function e (line 1) | function e(){this.$defaultOptions={}} function s (line 1) | function s(t){if(!i||!i.document)return;r.set("packaged",t||e.packaged||... function o (line 1) | function o(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCas... function e (line 1) | function e(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}} function a (line 1) | function a(){u=!1;try{document.createComment("").addEventListener("test"... function f (line 1) | function f(){return u==undefined&&a(),u} function l (line 1) | function l(e,t,n){this.elem=e,this.type=t,this.callback=n} function d (line 1) | function d(e,t,n){var u=p(t);if(!i.isMac&&s){t.getModifierState&&(t.getM... function v (line 1) | function v(){s=Object.create(null)} function i (line 1) | function i(e){t&&t(e),n&&n(e),h(r,"mousemove",t),h(r,"mouseup",i),h(r,"d... function p (line 1) | function p(e){t.getButton(e)!==0?u=0:e.detail>1?(u++,u>4&&(u=1)):u=1;if(... function P (line 1) | function P(e){(!n||!n.parentNode)&&document.removeEventListener("selecti... function $ (line 1) | function $(){T=!0,n.blur(),n.focus(),T=!1} function K (line 1) | function K(e){e.keyCode==27&&n.value.length>8;return n==0?t>191?g:B[t]:n==5... function U (line 1) | function U(e){return e>="\u064b"&&e<="\u0655"} function e (line 1) | function e(e){this.session=e,this.bidiMap={},this.currentRow=null,this.b... function e (line 1) | function e(e){this.states=e,this.regExps={},this.matchMappings={};for(va... function i (line 1) | function i(s){var o=r[s];o.processed=!0;for(var u=0;u=0&&t.row=0&&t.column<=... function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio... function o (line 1) | function o(e,t,n){var r=n?e.column<=t.column:e.column=4352&&e<=4447||e>=4515&&e<=4519||e>=46... function e (line 1) | function e(t,n){this.$breakpoints=[],this.$decorations=[],this.$frontMar... function n (line 1) | function n(e){return t?e.action!=="insert":e.action==="insert"} function l (line 1) | function l(){var t=0;if(f===0)return t;if(a)for(var r=0;r"+e.end.row+":"+e... function p (line 1) | function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if... function d (line 1) | function d(e,t){for(var n=e.length;n--;)for(var r=0;rt.priority?1:0} function e (line 1) | function e(e,t){var n=this;this.container=e||i.createElement("div"),i.ad... function o (line 1) | function o(){r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,r.... function s (line 1) | function s(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw ne... function u (line 1) | function u(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return n... function a (line 1) | function a(e){if(typeof Worker=="undefined")return{postMessage:function(... function e (line 1) | function e(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc... function s (line 1) | function s(e,t){return e.row==t.row&&e.column==t.column} function o (line 1) | function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,u=t.ctrlKey,a=e.g... function h (line 1) | function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$optio... function v (line 1) | function v(e,t){return e.row==t.row&&e.column==t.column} function m (line 1) | function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$o... function g (line 1) | function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}if(!... function u (line 1) | function u(e){return a.stringRepeat(" ",e)} function f (line 1) | function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([... function l (line 1) | function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([... function c (line 1) | function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "... function u (line 1) | function u(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[... function a (line 1) | function a(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.l... FILE: web/ace-builds/ext-language_tools.js function p (line 1) | function p(e){var t=(new Date).toLocaleString("en-us",e);return t.length... function e (line 1) | function e(){this.snippetMap={},this.snippetNameMap={},this.variables=h} function t (line 1) | function t(e){return e=e.substr(1),/^\d+$/.test(e)?[{tabstopId:parseInt(... function n (line 1) | function n(e){return"(?:[^\\\\"+e+"]|\\\\.)"} function f (line 1) | function f(t){var n=e.indexOf(t,s+1);n!=-1&&(s=n)} function s (line 1) | function s(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")")... function u (line 1) | function u(e,t,n){return e=s(e),t=s(t),n?(e=t+e,e&&e[e.length-1]!="$"&&(... function a (line 1) | function a(e){e.scope||(e.scope=t||"_"),t=e.scope,n[t]||(n[t]=[],r[t]={}... function i (line 1) | function i(e){var i=r[e.scope||t];if(i&&i[e.name]){delete i[e.name];var ... function l (line 1) | function l(e){var t=[];for(var n=0;n