No project description provided
Project description
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
lib_typ_parse-0.0.4.tar.gz
(17.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lib_typ_parse-0.0.4.tar.gz.
File metadata
- Download URL: lib_typ_parse-0.0.4.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c65deac1bf6d13ff1964d438a27185c1390552690ee1bd5ad8b58e340ac60ae
|
|
| MD5 |
47ffdaaae0d4d4e4c2eb4448088118cb
|
|
| BLAKE2b-256 |
502beabaa462fb4b222f2ea0129724d417c99c7728390b66fbae865ecd3b3df7
|
File details
Details for the file lib_typ_parse-0.0.4-py3-none-any.whl.
File metadata
- Download URL: lib_typ_parse-0.0.4-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02ced2ab985a9705e602bdaf4f873445f982613c6fae990e0c93f439a68c5efe
|
|
| MD5 |
0e40d59f4e853957ef4701592ab14383
|
|
| BLAKE2b-256 |
e0810937020666af5938fe8c31a6074e67d7b4cf2b978b5db56dcb6b05dc1fd3
|