This repository was archived by the owner on Jun 27, 2022. It is now read-only.
Development Release v0.1.dev5
Pre-release
Pre-release
v0.1.dev5 - 2021-11-09
Fourth Development Version, which fixes a license error (MIT instead of GPL-3.0) and updated the pypi.org README
Changelog
Added
initialise_default_pathsinparac.constto initialise the set the const
variables DEFAULT_LOG_PATH, DEFAULT_BUILD_PATH and DEFAULT_DIST_PATH. This
allows for more customisation for the defaults paths in Para-C and avoids
the default paths being wrong after changing the working directory while running.- Property
errorsinBaseErrorListenerfor storing received errors during
the parsing process (Both for the Pre-Processor and Compiler). - New Exception
ParaCSyntaxErrorwith proper implementation of error logs. - New Exception
ParaCSyntaxErrorCollectionfor storing multiple SyntaxErrors
and report them at once when initialised. - New Util functions:
get_input_stream_from_ctx,get_original_textand
get_original_text_from_token. - Implemented SyntaxError handling using the Antlr4 Error Handler - New Error Strategy is to collect all syntax errors and then at the end collect all warnings and
errors and display them. - Support for Whitespaces in the Antlr4 Grammar file to allow for better error messages and separation.
- Function in
util/pathtools.pyensure_pathlib_path, which will convert
the passed value to a pathlib.Path, if it's not already one. It will also
resolve all sys-links. - Property
logic_streamtoListenerand updated methods to allow for proper
future implementation of the logic stream. - New method
append_antlr_ctxto the ABC ClassLogicStreamand its
implementation. - Addition of
program_ctxto allFileRunContextimplementation
classes.
Changed
- Style of the init banner in the CLI and added docs link.
- Merged dynamic lists and arrays into the standard iterable type associated with
type identifier[],
which can utilise list functionality, but also practically stay normal arrays at the same time if not resized. For
more info see the lang document. - Fixed workdir issue in pytest causing usage outside
./src/pytestto raise errors. - Fixed work-directory issue in
build-exe.pyand rewrote structure to allow runtime in the root directory. - The modules will now commonly use
pathlib.Pathand convert to it if is
a different type (str, bytes). - Renamed
validate_file_endingtohas_valid_file_endingand fixed a minor bug replacing the
allcall (all file endings must be true) toany, meaning now only one needs to be true, which
is the correct and intended way of handling this. - Renamed
compiler-versiontag inparac-config.jsontoparac-version - Renamed the following keywords in ParaC.g4:
_Alignastoalignas_Alignoftoalignof_Atomictoatomic_Booltobool_Complextocomplex_Imaginarytoimaginary_Noreturntonoreturn_Static_asserttostatic_assert__Thread_localtothread_local
- Deprecated
const.SEPARATORand updatedget_relative_file_nameto properly
apply to the change - Updated Error message of
RuntimeError(Mismatching file_names) in
get_relative_file_name - Changed behaviour of
ParacCompiler.validate_syntax()and removed the
additional usage of a listener to walk through the files, even though
a simple parse was enough for validating the syntax. - Updated logging messages and added more of them, where they are needed.
- Renamed
parac_clitoparac_ext_cliand published it to pypi - Moved Para-C Base Library data to new repo here
- Deleted the file
entry_cli.pyhere, and moved the function toparac-ext-cli
here. This function can now be called
usingcli_run(); This means that the main repo and module can only be run
as module, and the CLI is a fully separate entity.
Removed
list<t>type from the Grammar file.WORK_DIRinparac.constand implemented dynamic fetching to allow for
workdir changes while running.- Full Support for extensionTaskLambda (deprecated).
- Deprecated
cleanup_path_str()andcheck_valid_path_name()fromutil/pathtools.py. - Independent rule
entryPointSpecifierin ParaC.g4 - Unsupported C keywords and statements from the grammar file (ParaC.g4):
__extension____builtin_va_arg__builtin_offsetof_Generic(Might be added later again with new syntax)__inline____stdcall__declspec__attribute____asm
- Removed
__typeof__version oftypeoffrom the grammar file (ParaC.g4) - Removed
gotoas it is not supported in the Para-C logic (ParaC.g4) - Return-value
boolfromParacCompiler.validate_syntax()as it is
unnecessary with the raised exception when encountering a SyntaxError