Add utilities and documentation

Add portable filesize and logging C libraries and documentation for development.
This commit is contained in:
Aidan C. Mullen 2025-03-06 19:55:35 -05:00
parent 724659b25f
commit d460a7ca93
12 changed files with 627 additions and 283806 deletions

View file

@ -0,0 +1,56 @@
2.5 LANGUAGE
============
DISCLAIMER: this file must be updated and adapted to this project.
I. Organized Codebase
---------------------
The program is primarily written in C, and is dispersed into a variety of
optional modules; therefore, the inclusion of other languages, dialects, and
platform-dependent components are permitted.
This project's core and a number of its direct dependencies conform to ISO
9899:1990, which is generally referred to as Standard C90, and is functionally
identical to ANSI X3.159-1989 "Programming Language C", which is Standard
C89/ANSI-C. This ensures compatibilty between the basic functionality of the
application and legacy/"retro" platforms, which support is planned for.
In the project's core, dialect-dependent features should be omitted, unless
they are included within a preprocessor-directive that optionalizes their
implmentation and separates their influence from the vital structure of the
program.
Other languages and C-dialects can be used, but they must conform to the
modular nature and goals of the program. By default, all extraneous and
non-vital components should be disabled; compiler-flags and build-options will
be the primary means of enabling them.
II. Styling
-----------
The source-code in this project is formatted to the "Allman" style of
indentation; see the provided example below:
while (x == y)
{
function();
function_2();
}
Note that braces align with the control statement, and statements placed
within the braces are indented.
Allman-style indentation maximizes the readability of the program and,
via a clear, block-like structure, reduces the probabilty of ambiguous
formatting.
Each source file must have a comment at the bottom marking the end of
its content e.g.
/* --- end of FILE_C --- */
The period located before the extension is shown as an underscore, and
the name is now capitalized, whereas the real filename is snake_case.
--- end of 2.5 LANGUAGE ---