lib_typ_parse
lib_typ_parse is the client library for manipulating and producing typon code.
Usage
import lib_typ_parse.typon_client as typon_client
serviceEndpoint = 'http://127.0.0.1:8081'
api_key = 'API_KEY'
target_module = 'drivers.cache_server_driver'
module_dir = '/home/user/software/cache'
out_dir = '/home/user/software/cache/bin'
exe_name = 'cache_server_driver'
# retrieve .cpp source from server; stores .cpp file in {out_dir}/{exe_name}.cpp
# AND compiles {out_dir}/{exe_name}.cpp to {out_dir}/{exe_name}.exe
typon_client.compileCpp(serviceEndpoint, target_module, module_dir, out_dir, exe_name)
# retrieve .exe source from server; stores .exe file in {out_dir}/{exe_name}.exe
typon_client.compileExe(serviceEndpoint, api_key, target_module, module_dir, out_dir, exe_name)
Installing
$ python3 -m pip install lib_typ_parse
Sample Code
# data_format:
# written to contiguous segment of disk
# parameterizable disk access
# [len(repr(entry_i))] [repr(entry_i)]
# uses O( max(buffer_size, max(len(repr(entry_i)))) ) memory
# requires final commit to be flushed to disk
class BufferedWriter():
def __members__(self):
file_name: str
fp: fileptr
buffer_size: int
buffer: str
def __init__( self, file_name: str, buffer_size: int, append_mode: bool ):
self.file_name = file_name
self.buffer_size = buffer_size
fMode = 'wb'
if append_mode:
fMode = 'ab'
self.fp = open(file_name, fMode)
def __del__(self):
self.commit()
self.fp.close()
def writeItem(self, entry: str) -> char:
# sizeRepr = beval(len(entry), 'int', false)
sizeRepr = brepr(len(entry))
self.buffer += sizeRepr + entry
if len(self.buffer) >= self.buffer_size:
return self.commit()
return char(0)
def commit(self) -> char:
if len(self.buffer) > 0:
self.fp.write(self.buffer)
self.buffer = ""
return char(1)
return char(0)
AutoGeneratedDocs
lib_typ_parse.helper.__init__
lib_typ_parse.helper.type_resolver
def reduce_rel_type( target_module, current_module, rel_type, reverse_imports_map )
def compute_relative_type(abs_type, current_module, reverse_imports_map)
def resolve_map_type_L0_skeleton(typon_map_type, L0_skeleton)
def read_tuple_types_typon_L0_skeleton(ws_removed_typon_tuple_type, L0_skeleton)
def read_args_ret_from_fxn_typon_type(ws_removed_typon_fxn_type)
lib_typ_parse.helper.eval_service
def resolve_func_type_from_arguments(arguments)
def resolve_args_only_func_type(arguments)
def resolve_func_type_from_arguments_msa(arguments, module_L0_skeleton, current_module)
def resolve_args_only_func_type_msa(arguments, module_L0_skeleton, current_module)
def is_valid_var_name(var_name)
lib_typ_parse.helper.eval_helper
def extract_id_var_tuple(S2)
def read_fxn_params(arg_str)
def fmt_type_module_space_aware_module_L0_skeleton(input_typon_type, current_module, module_L0_skeleton)
lib_typ_parse.__init__
lib_typ_parse.__api__
lib_typ_parse.parse.__init__
lib_typ_parse.parse.parser
def parse_fxn(code, index, scope)
def parse_class(code, index, scope)
def parse_try(code, index, scope)
def parse_except(code, index, scope)
def parse_L1_CE(code, index, scope, token)
def parse_L0_statement(code, index, scope)
def parse_import(code, index, scope)
def parse_include(code, index, scope)
def parse_abstract_statement(code, index, scope, start_token)
def read_scope(code, index, scope)
lib_typ_parse.parse.parse_L0_skeleton
def assert_code_topology(current_module, item_skeleton)
def assert_single_main(item_skeletons)
def select_modules_to_read(item_skeleton)
def read_import_to_skeleton(item, module_L0_skeleton, current_module)
def read_include_to_skeleton(item, module_L0_skeleton, current_module)
def read_fxn_to_skeleton(item, module_L0_skeleton, current_module)
def parseClassFxnArgsRepr(argRepr)
def check_self_ref_mem_fxn(statement, error_msg)
def read_class_members_to_skeleton(class_name, statement, module_L0_skeleton, current_module)
def read_constructor_to_skeleton(class_name, statement, module_L0_skeleton, current_module)
def read_destructor_to_skeleton(class_name, statement, module_L0_skeleton, current_module)
def read_class_fxn_to_skeleton(class_name, statement, module_L0_skeleton, current_module)
def read_class_to_skeleton(item, module_L0_skeleton, current_module)
def read_instruction_to_skeleton(item, module_L0_skeleton, current_module)
def read_ordered_L0_statements(item_skeleton)
def format_L0_skeleton(item_skeleton, current_module, code)
def read_L0_skeleton(current_module, item_skeleton, code)
def fmt_code(src_dir)
def select_code_skeletons(target_module, module_dir)
lib_typ_parse.parse.parse_skeleton
def select_reverse_imports_map(skeleton)
def map_rel_type( abs_type, module_name, reverse_imports_map )
def condense_fxn(fxn_def, module_name, reverse_imports_map)
def condense_class(class_def, module_name, reverse_imports_map)
def read_absolute_skeleton(target_module, module_dir)
def read_relative_skeleton(target_module, module_dir)
def p1()
def main()
lib_typ_parse.typon_client
def compileCpp(serviceEndpoint, api_key, target_module, module_dir, out_dir, exe_name, printProg=True)
def compileExe(serviceEndpoint, api_key, target_module, module_dir, out_dir, exe_name, printProg=True)
lib_typ_parse.utils.__init__
lib_typ_parse.utils.constants
def select_item_prefix(item_name)
def select_primitives()
def select_bracket_map()
lib_typ_parse.utils.exceptions
def find_all(s, t, index)
def raise_exception_msg(code, index, error_msg)
def raise_exception_msgs(code, index, error_msgs)
def raise_exception_raw(error_msgs)
def raise_exception_ue(error_msgs)
def raise_exception_ue_cm(error_msgs, current_module)
def raise_exception_ST(symbol_table, errors)
def format_parse_tree(abstract_tree)
def raise_inv_exception_decl(exception_decl, symbol_table)
def raise_invalid_raise_exception(symbol_table)
def raise_class_not_found_exception(symbol_table, class_name, target_module)
def raise_inv_assertion_declaration(symbol_table, interior_assert_typon_type)
def raise_exception_L0_skeleton(errors, current_module, L0_skeleton)
def raise_parsing_exception(error_msg_str, current_module, src_dir)
lib_typ_parse.utils.fmt_utils
def format_indent(indent_str, multiline_str)
def serialize_json(py_dict)
def print_json(py_dict)
def select_module_src_dir(module_dir, target_module)
def read_module_src(module_dir, target_module)
lib_typ_parse.utils.parsing_utils
def indent_multiline_str(indent_str, multiline_str)
def get_fmt_str_expr_closure(target_substr, open_index, symbol_table)
def get_char_closure(s, index)
def get_unescaped_quote(s, index, quote)
def close_triple_quote(s, index, trq)
def get_quote_closure(s, index)
def is_escaped_quote(s, index)
def get_cleared_char_closure(s, index)
def read_next_cleared_char(s, index, target_char)
def parse_current_scope(source_code, scope_start_index)
def read_init_token(source_code, index, scope)
def select_token_index(tok_stream, target_token)
def get_token_stream_closure(tok_stream, i_start)
def get_expr_aware_closure(tok_stream, index, symbol_table)
def find_all_expr_aware(tok_stream, index, symbol_table, target_token)
def split_expr_aware(tok_stream, symbol_table, target_token)
def split_arg_typle(s, index)
def read_delimited_types(type_str)
def parse_fxn_type(function_type, symbol_table)
lib_typ_parse.utils.transform_data
Metadata
Release files for lib-typ-parse 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| lib_typ_parse-0.0.4.tar.gz | 17.0 kB | Without provenance | Details for lib_typ_parse-0.0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lib_typ_parse-0.0.4-py3-none-any.whl | Python 3 | none | any | Details for lib_typ_parse-0.0.4-py3-none-any.whl |
Total release size: 36.9 kB
Release files / lib_typ_parse-0.0.4.tar.gz
| Download URL | lib_typ_parse-0.0.4.tar.gz |
|---|---|
| Size | 17.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c65deac1bf6d13ff1964d438a27185c1390552690ee1bd5ad8b58e340ac60ae
|
|
BLAKE2b-256 checksum How to use checksums |
502beabaa462fb4b222f2ea0129724d417c99c7728390b66fbae865ecd3b3df7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Release files / lib_typ_parse-0.0.4-py3-none-any.whl
| Download URL | lib_typ_parse-0.0.4-py3-none-any.whl |
|---|---|
| Size | 19.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
02ced2ab985a9705e602bdaf4f873445f982613c6fae990e0c93f439a68c5efe
|
|
BLAKE2b-256 checksum How to use checksums |
e0810937020666af5938fe8c31a6074e67d7b4cf2b978b5db56dcb6b05dc1fd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Security for lib-typ-parse 0.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.