This repository was archived by the owner on Jun 27, 2022. It is now read-only.
Development Release v0.1.dev7
Pre-release
Pre-release
v0.1.dev7 - 2022-01-27
Added
LinkerandLinkerMetaDataclasses for the linking step and dependency
analysis that is between the logical analysis and code
generation/optimisation.- CLI for
parac-build.pyto simplify the building process by allowing for
more configuration. This also includes web-download and automatic global
installation. requirementsfolder with requirements for each use-case likedev,prod
orcommon(base requirements for bothdevandprod).- New function
ProgramCompilationContext.parse_all_files(), which will parse
all files. - Parameter
project_rootforBasicProcess,ProgramCompilationContextand
ProgramCompilationContext, which defines the root of the project structure.
This will also be used for relative naming and paths! - New Wrapper class
ParacProjectConfigfor handling json-config files. This
is still in work and not going to be properly finished until the compiler
core has been done. - Ability to use
loggingwithout having to stick to CLI formatted logging.
Updated
- Renamed
build.pytoparac-build.pyto not interfere with thebuild
module. - Removed the
optimisermodule and replaced it withoptimiser.py. - Renamed class
ParacParseStreamto ParacQualifiedParseStream. - Renamed function
CompileProcess._compile()toci_compile. - Renamed function
CompileProcess._gen_preprocessor_temp_files()
togen_preprocessor_temp_files(). - Renamed function
CompileProcess._run_preprocessor()to
preprocess_files(). - Renamed parameter
log_errors_and_warningstoprefer_logging. - Updated handling of
ParacCompiler.validate_syntax()to be an entry-point
function, which will take as arguments the wanted file path and encoding.
This means no longer aBasicProcessorCompileProcessis
needed! - Handling of files to use an overall files list defined in
parac-config.json, instead of dynamically fetching using entry files.
This means it will be similar to GCC compiler using a pre-defined list of
files, and then link all of them together in the end making them ready for
execution. - Renamed
Para-CtoParato suit better to its intended feature-set. - Renamed
parac-build.pytopara-build.py. - Renamed all Python classes prefixes
ParactoPara. - Moved
logging.pyCLI functions topara_ext_cli. - Made
ParaCompiler.validate_syntax()an instance method instead of class .
method as it needs theParaCompilerruntime propertylogger. - Renamed the class
process.FinishedProcesstoprocess.CompileResult. - Renamed the class
process.ProgramCompilationProcessto
process.CompileProcess. - Renamed all items named
LogicTokenandLogicStreamtoParseTokenand
ParseStream. - Restructured listeners, context classes and parse stream functions to have
a more straightforward module structure, while generating a parse stream.
Removed
- Property
modeinbin-config.json. - Deprecated
SEPARATORandWINfrom const.py. - Constant Compiler instance
RUNTIME_COMPILER. - Functions related to
c-init, as the C Compiler configuration will from now
on be done usingpara-config.json. dist_pathandbuild_pathfolders, as the code-file generation is now
handled usingprocess.CompileResultandCompileResult.write_results().- Unneeded
paralang_base.loggingmodule, which has now been completely replaced
by the defaultlogginghandling, andparalang_base_cli.logging.