How to use the peru.scope.Scope function in peru

To help you get started, we’ve selected a few peru examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github buildinspace / peru / tests / test_scope.py View on Github external
}
    }
    '''
    modules = {}
    if 'modules' in tree:
        for module_name, sub_tree in tree['modules'].items():
            full_name = prefix + module_name
            new_prefix = full_name + peru.scope.SCOPE_SEPARATOR
            module_scope = scope_tree_to_scope(sub_tree, new_prefix)
            modules[module_name] = DummyModule(full_name, module_scope)
    rules = {}
    if 'rules' in tree:
        for rule_name in tree['rules']:
            full_name = prefix + rule_name
            rules[rule_name] = DummyRule(full_name)
    return peru.scope.Scope(modules, rules)
github buildinspace / peru / peru / parser.py View on Github external
def _parse_toplevel(blob, name_prefix):
    modules = _extract_modules(blob, name_prefix)
    rules = _extract_named_rules(blob, name_prefix)
    imports = _extract_multimap_field(blob, 'imports')
    if blob:
        raise ParserError("Unknown toplevel fields: " + ", ".join(blob.keys()))
    return Scope(modules, rules), imports