Rename channel "pipeline" into "fifo" and add new channel "pipe"
Complete implementation of read/write file open mode for cybol operation "dispatch/open"
Adapt open mode flags for writing, now including O_TRUNC, in order to fix bug that old data remained in overwritten files
Awakener:
Add thread copier, which is needed for thread comparison, to find out if a thread already exists
Use DEFAULT_THREAD_IDENTIFICATION for comparison in file "spinner.c", since win32 uses a struct and not an int as thread identification
Delete superfluous file "system_signal_handler_startup_manager.c", since threads are exited using an awakener
Avoid race conditions in cybol caused by sensing threads running in parallel which, if closed by one thread, leads to errors in another, by introducing global variable IDENTIFICATION_INTERRUPT_INTERNAL_MEMORY_STATE_CYBOI_NAME
Introduce cybol operation "communicate/identify" to be used in cybol handlers of "feel/sense" and "dispatch/close", for getting the current device/client identification used in asynchronous input
Serialiser and Deserialiser:
ansi escape code serialiser: change type from "wchar_t" to "char", since multibyte characters are sent via "write" to terminal
ansi escape code length deserialiser: used by reader for text user interface (tui) data input
gui event and xcb event: update
whitespace deserialiser and selector: used for skipping whitespace characters in other deserialisers
backslash escape deserialiser: handling "\n" for linefeed (new line) etc.
joined string deserialiser: offer classic "split" functionality, as prerequisite to the csv deserialiser
textline list deserialiser: represent text file as single lines
newline selector: used by csv deserialiser
csv deserialiser: for character (comma) separated values (csv) with delimiter, quotation, header
digit wide character to integer mapper: used with numeral de-/serialiser
numeral deserialiser and selector: to be used with cybol, json and other formats
json serialiser and deserialiser: almost complete, only number recognition still missing
xml deserialiser: detect empty tag space end " />"
character reference deserialiser: extend with further html entities generated by python script parsing web sources (Enrico Gallus)
representer and communicator: introduce language properties (constraints)
knowledge deserialiser: replace * with {} for references and process path fragments following a reference enclosed in {}
General:
Add modifier stripper providing functionality for cybol operation "modify/strip"
Add modifier normaliser providing functionality for cybol operation "modify/normalise"
CYBOL
Operations:
modify/strip removing leading and trailing whitespaces, as well as the variants "modify/strip-leading" and "modify/strip-trailing"
modify/normalise replacing all internal sequences of white space with just one
modify/replace replacing a searched character sequence with a given new sequence
modify/repeat producing a destination string whose value is the concatenation of the source string repeated count times
modify/lower converting a string to lower case letters
modify/upper converting a string to upper case letters
modify/reverse reversing the order of the child nodes of the source part storing them in the destination part
Language Properties (Constraints):
"clear" and "newline" used with text (pseudo) terminal
"indentation" used with xml or html serialiser, indenting the single lines depending on the current hierarchical level
"normalisation" used with xml or html deserialiser, summarising (condensing) spaces and line breaks to just one space
"delimiter" and "quotation" and "header" and "width", to be used with joined strings or character (comma) separated values (csv)
"medium" referencing a gui window for finding the correct action belonging to a mouse click
"minimum" and "maximum" for serial (port) interface communication
Applications:
checker/ for testing lexicographical comparison
serialisation/joined_string/
serialisation/textline_list/
serialisation/csv/
serialisation/json/
serialisation/xml/
Specification:
Adapt cybol json format using value arrays with [] instead of name-value objects with {} in "doc/cybol/syntax/"
Extend knowledge path syntax by replacing * with {} for references
General:
Make cybol applications work with new communication architecture
Provide callback cybol handler for asynchronous writing
Provide client closer handler for socket server applications
Provide load and unload functionality for cybol library "examples/cybolib/"
Remove property "encoding" with value "utf-8" from send and receive, since the tui de-/serialiser does the conversion, similar to http
Rename language "event/gui" into "message/gui-request" and language "message/gui" into "message/gui-response"
Rename non-existing format "number/double" into "number/fraction-decimal"
Add cybol property "mode" with value "write" to operation "dispatch/open" of applications calling operation "communicate/send" with channel "file"
Project
API Generator:
Remove tui/gui/wui properties from api specification, since they represent languages not formats
Move generation application files from directory "doc/books/cybol/api/" to "tools/api-generator/"
Define useful syntax format for describing cybol api in cyboi source code of directory "constant/format/cybol/"
Move comments with parametre lists from directory "src/applicator/" to "src/constant/format/cybol/logic/"