ceptr
|
The virtual machine provides the following system structures:
Key in structure defintions: SEQ = Sequence of, * = zero or more, + = one or more, ? zero or one, OR = logical or, % = symbol of given structure, ! = any symbol.
Structure | Defintion | Comments |
---|---|---|
NULL-STRUCTURE | undefined | |
BIT | NULL_SYMBOL | surface is 0 or 1 |
INTEGER | NULL_SYMBOL | surface is a c int |
INTEGER64 | NULL_SYMBOL | surface is a c long |
FLOAT | NULL_SYMBOL | surface is a c float |
CHAR | NULL_SYMBOL | surface is a c char |
CSTRING | NULL_SYMBOL | surface is a null terminated set of bytes |
SYMBOL | NULL_SYMBOL | surface is a c struct (SemID) representing symbols |
STRUCTURE | NULL_SYMBOL | surface is a c struct (SemID) representing structures |
PROCESS | NULL_SYMBOL | surface is a c struct (SemID) representing processes |
PROTOCOL | NULL_SYMBOL | surface is a c struct (SemID) representing protocols |
RECEPTOR | NULL_SYMBOL | surface is a c struct (SemID) representing receptors |
SCAPE | NULL_SYMBOL | |
ENUM | NULL_SYMBOL | @todo |
TREE_PATH | NULL_SYMBOL | surface is an -1 terminated set of c ints |
XADDR | NULL_SYMBOL | |
SURFACE | NULL_SYMBOL | |
TREE | NULL_SYMBOL | surface is a c pointer to a tree |
RECEPTOR_SURFACE | NULL_SYMBOL | surface is a c pointer to a receptor structure |
SEMTREX | NULL_SYMBOL | |
CPOINTER | NULL_SYMBOL | surface is c pointer of some sort, used for edge receptor data |
UUID | NULL_SYMBOL | surface is a c struct holding a UUID |
BLOB | NULL_SYMBOL | surface is an undefined blob of bytes |
LIST-OF-STRUCTURES-AND-SYMBOLS-AND-PROCESSES-AND-PROTOCOLS-AND-RECEPTORS-AND-ZERO-OR-MORE-OF-SCAPES | SEQ(STRUCTURES, SYMBOLS, PROCESSES, PROTOCOLS, RECEPTORS, *(SCAPES)) | |
STRUCTURE-DEF | OR(STRUCTURE_SYMBOL, STRUCTURE_SEQUENCE, STRUCTURE_OR, STRUCTURE_ZERO_OR_MORE, STRUCTURE_ONE_OR_MORE, STRUCTURE_ZERO_OR_ONE, STRUCTURE_STRUCTURE, STRUCTURE_ANYTHING) | |
LABEL | +(%CSTRING) | |
TUPLE-OF-STRUCTURE-LABEL-AND-STRUCTURE-DEF | SEQ(STRUCTURE_LABEL, STRUCTURE_DEF) | |
ZERO-OR-MORE-OF-STRUCTURE-DEFINITION | *(STRUCTURE_DEFINITION) | |
ONE-OR-MORE-OF-STRUCTURE-DEF | +(STRUCTURE_DEF) | |
TUPLE-OF-SYMBOL-LABEL-AND-SYMBOL-STRUCTURE | SEQ(SYMBOL_LABEL, SYMBOL_STRUCTURE) | |
ZERO-OR-MORE-OF-SYMBOL-DEFINITION | *(SYMBOL_DEFINITION) | |
SEMTREX-DEF | OR(SEMTREX_SYMBOL_LITERAL, SEMTREX_SYMBOL_LITERAL_NOT, SEMTREX_SEQUENCE, SEMTREX_OR, SEMTREX_NOT, SEMTREX_SYMBOL_ANY, SEMTREX_ZERO_OR_MORE, SEMTREX_ONE_OR_MORE, SEMTREX_ZERO_OR_ONE, SEMTREX_VALUE_LITERAL, SEMTREX_VALUE_LITERAL_NOT, SEMTREX_GROUP, SEMTREX_WALK, SEMTREX_DESCEND) | |
ONE-OR-MORE-OF-SEMTREX-SYMBOL | +(SEMTREX_SYMBOL) | |
SEMTREX-SYMBOL-LITERAL-DEF | SEQ(OR(SEMTREX_SYMBOL, SEMTREX_SYMBOL_SET), *(!)) | |
ONE-OR-MORE-OF-SEMTREX-DEF | +(SEMTREX_DEF) | |
PAIR-OF-SEMTREX-DEF | SEQ(SEMTREX_DEF, SEMTREX_DEF) | |
ZERO-OR-ONE-OF-ANY-SYMBOL | ?(!) | |
ONE-OR-MORE-OF-ANY-SYMBOL | +(!) | |
SEMTREX-VALUE-LITERAL-DEF | OR(!, SEMTREX_VALUE_SET) | |
ONE-OR-MORE-OF-ASCII-CHAR | +(ASCII_CHAR) | |
ASPECT | SEQ(EXPECTATIONS, SIGNALS) | |
ONE-OR-MORE-OF-STRUCTURE-OF-ASPECT | +(%ASPECT) | |
TUPLE-OF-ASPECT-TYPE-AND-ASPECT-LABEL | SEQ(ASPECT_TYPE, ASPECT_LABEL) | |
ONE-OR-MORE-OF-ASPECT-DEF | +(ASPECT_DEF) | |
ONE-OR-MORE-OF-RECEPTOR-PATH | +(RECEPTOR_PATH) | |
RECEPTOR-ADDRESS | OR(RECEPTOR_ADDR, RECEPTOR_PATH) | |
LIST-OF-SIGNAL-UUID | SEQ(SIGNAL_UUID) | |
LIST-OF-CONVERSATION-UUID | SEQ(CONVERSATION_UUID) | |
LIST-OF-FROM-ADDRESS-AND-TO-ADDRESS-AND-ASPECT-IDENT-AND-CARRIER-AND-ZERO-OR-ONE-OF-CONVERSATION-IDENT-AND-ZERO-OR-ONE-OF-LOGICAL-OR-OF-END-CONDITIONS-AND-IN-RESPONSE-TO-UUID | SEQ(FROM_ADDRESS, TO_ADDRESS, ASPECT_IDENT, CARRIER, ?(CONVERSATION_IDENT), ?(OR(END_CONDITIONS, IN_RESPONSE_TO_UUID))) | |
TUPLE-OF-HEAD-AND-BODY | SEQ(HEAD, BODY) | |
TUPLE-OF-ENVELOPE-AND-MESSAGE | SEQ(ENVELOPE, MESSAGE) | |
ZERO-OR-MORE-OF-SIGNAL | *(SIGNAL) | |
CODE-REF | SEQ(PROCESS_IDENT, CODE_PATH) | |
LIST-OF-SIGNAL-UUID-AND-CARRIER-AND-WAKEUP-REFERENCE-AND-END-CONDITIONS-AND-ZERO-OR-ONE-OF-CONVERSATION-IDENT | SEQ(SIGNAL_UUID, CARRIER, WAKEUP_REFERENCE, END_CONDITIONS, ?(CONVERSATION_IDENT)) | |
ZERO-OR-MORE-OF-PENDING-RESPONSE | *(PENDING_RESPONSE) | |
LIST-OF-CARRIER-AND-PATTERN-AND-ACTION-AND-PARAMS-AND-END-CONDITIONS-AND-ZERO-OR-ONE-OF-SEMANTIC-MAP-AND-ZERO-OR-ONE-OF-CONVERSATION-UUID | SEQ(CARRIER, PATTERN, ACTION, PARAMS, END_CONDITIONS, ?(SEMANTIC_MAP), ?(CONVERSATION_UUID)) | |
ZERO-OR-MORE-OF-EXPECTATION | *(EXPECTATION) | |
ZERO-OR-MORE-OF-CONVERSATION | *(CONVERSATION) | |
LIST-OF-CONVERSATION-UUID-AND-END-CONDITIONS-AND-CONVERSATIONS-AND-ZERO-OR-ONE-OF-WAKEUP-REFERENCE | SEQ(CONVERSATION_UUID, END_CONDITIONS, CONVERSATIONS, ?(WAKEUP_REFERENCE)) | |
LOGICAL-OR-OF-PROCESS-OF-STRUCTURE-AND-PROCESS-OF-SYMBOL-AND-PROCESS-OF-PROCESS | OR(PROCESS_OF_STRUCTURE, PROCESS_OF_SYMBOL, PROCESS_OF_PROCESS) | |
LOGICAL-OR-OF-TRANSCODER-AND-OPERATOR-AND-VALIDATOR | OR(TRANSCODER, OPERATOR, VALIDATOR) | |
TUPLE-OF-PROCESS-OF-AND-PROCESS-TYPE | SEQ(PROCESS_OF, PROCESS_TYPE) | |
ANY-SYMBOL | ! | |
LIST-OF-PROCESS-NAME-AND-PROCESS-INTENTION-AND-CODE-AND-PROCESS-SIGNATURE-AND-ZERO-OR-ONE-OF-PROCESS-LINK | SEQ(PROCESS_NAME, PROCESS_INTENTION, CODE, PROCESS_SIGNATURE, ?(PROCESS_LINK)) | |
ZERO-OR-MORE-OF-PROCESS-DEFINITION | *(PROCESS_DEFINITION) | |
SEMANTIC-REFERENCE | OR(GOAL, ROLE, USAGE, WEAL) | |
SLOT-STRUCTURE | SEQ(SEMANTIC_REFERENCE, ?(SLOT_IS_VALUE_OF), ?(SLOT_CHILDREN)) | semantic id and optional indicator to fill the value not the structure for the element in the template that needs filling |
TUPLE-OF-SEMANTIC-REFERENCE-AND-REPLACEMENT-VALUE | SEQ(SEMANTIC_REFERENCE, REPLACEMENT_VALUE) | |
SEMANTIC-LINKS | SEQ(+(SEMANTIC_LINK)) | |
LOGICAL-OR-OF-SIGNATURE-STRUCTURE-AND-SIGNATURE-SYMBOL-AND-SIGNATURE-PROCESS-AND-SIGNATURE-PASSTHRU | OR(SIGNATURE_STRUCTURE, SIGNATURE_SYMBOL, SIGNATURE_PROCESS, SIGNATURE_PASSTHRU) | |
SIGNATURE-SEMANTIC-VARIANTS | OR(SIGNATURE_STRUCTURE, SIGNATURE_SYMBOL, SIGNATURE_PROCESS, SIGNATURE_ANY) | |
TUPLE-OF-SIGNATURE-SEMANTIC-VARIANTS-AND-ZERO-OR-ONE-OF-SIGNATURE-OPTIONAL | SEQ(SIGNATURE_SEMANTIC_VARIANTS, ?(SIGNATURE_OPTIONAL)) | |
TUPLE-OF-SIGNATURE-LABEL-AND-SIGNATURE-INPUT-TYPE | SEQ(SIGNATURE_LABEL, SIGNATURE_INPUT_TYPE) | |
TUPLE-OF-SIGNATURE-LABEL-AND-SIGNATURE-OUTPUT-TYPE | SEQ(SIGNATURE_LABEL, SIGNATURE_OUTPUT_TYPE) | |
LIST-OF-ZERO-OR-MORE-OF-EXPECTED-SLOT | SEQ(*(EXPECTED_SLOT)) | |
PROCESS-FORM | SEQ(OUTPUT_SIGNATURE, *(INPUT_SIGNATURE), *(TEMPLATE_SIGNATURE)) | |
LIST-OF-CODE-AND-PARAMS-AND-ZERO-OR-ONE-OF-CODE-AND-ZERO-OR-ONE-OF-PARAMS | SEQ(CODE, PARAMS, ?(CODE), ?(PARAMS)) | |
ZERO-OR-MORE-OF-ANY-SYMBOL | *(!) | |
ONE-OR-MORE-OF-ROLE | +(ROLE) | |
LIST-OF-ROLE-AND-SOURCE-AND-PATTERN-AND-ACTION-AND-ZERO-OR-ONE-OF-PARAMS | SEQ(ROLE, SOURCE, PATTERN, ACTION, ?(PARAMS)) | |
LIST-OF-ROLE-AND-DESTINATION-AND-ACTION | SEQ(ROLE, DESTINATION, ACTION) | |
TUPLE-OF-PNAME-AND-ONE-OR-MORE-OF-LOGICAL-OR-OF-RESOLUTION-AND-LINKAGE | SEQ(PNAME, +(OR(RESOLUTION, LINKAGE))) | |
INTERACTION | SEQ(*(EXPECT), *(INITIATE)) | |
ZERO-OR-MORE-OF-PROTOCOL-DEFINITION | *(PROTOCOL_DEFINITION) | |
TUPLE-OF-GOAL-AND-ACTUAL-PROCESS | SEQ(GOAL, ACTUAL_PROCESS) | |
TUPLE-OF-ROLE-AND-ACTUAL-RECEPTOR | SEQ(ROLE, ACTUAL_RECEPTOR) | |
TUPLE-OF-USAGE-AND-ACTUAL-SYMBOL | SEQ(USAGE, ACTUAL_SYMBOL) | |
TUPLE-OF-WEAL-AND-ACTUAL-PROTOCOL | SEQ(WEAL, ACTUAL_PROTOCOL) | |
TUPLE-OF-ACTUAL-SYMBOL-AND-ACTUAL-VALUE | SEQ(ACTUAL_SYMBOL, ACTUAL_VALUE) | |
MAPPING | OR(WHICH_PROCESS, WHICH_RECEPTOR, WHICH_SYMBOL, WHICH_PROTOCOL, WHICH_VALUE) | maps abstract semantic reference to concrete instantiation |
PAIR-OF-GOAL | SEQ(GOAL, GOAL) | |
PAIR-OF-ROLE | SEQ(ROLE, ROLE) | |
PAIR-OF-USAGE | SEQ(USAGE, USAGE) | |
PAIR-OF-WEAL | SEQ(WEAL, WEAL) | |
LINK | OR(WHICH_GOAL, WHICH_ROLE, WHICH_USAGE, WHICH_WEAL) | links two abstract semantic references (role/goal/usage/weal). |
ONE-OR-MORE-OF-RESOLUTION | +(RESOLUTION) | |
LIST-OF-ZERO-OR-MORE-OF-ROLE-AND-ZERO-OR-MORE-OF-GOAL-AND-ZERO-OR-MORE-OF-USAGE-AND-ZERO-OR-MORE-OF-WEAL | SEQ(*(ROLE), *(GOAL), *(USAGE), *(WEAL)) | |
LIST-OF-PROTOCOL-LABEL-AND-PROTOCOL-SEMANTICS-AND-ZERO-OR-MORE-OF-PROTOCOL-DEFAULTS-AND-ZERO-OR-MORE-OF-STRUCTURE-OF-INTERACTION-AND-ZERO-OR-MORE-OF-INCLUSION | SEQ(PROTOCOL_LABEL, PROTOCOL_SEMANTICS, *(PROTOCOL_DEFAULTS), *(%INTERACTION), *(INCLUSION)) | |
ZERO-OR-MORE-OF-STRUCTURE-OF-SCAPE | *(%SCAPE) | |
TUPLE-OF-MANIFEST-LABEL-AND-MANIFEST-SPEC | SEQ(MANIFEST_LABEL, MANIFEST_SPEC) | |
ONE-OR-MORE-OF-MANIFEST-PAIR | +(MANIFEST_PAIR) | |
LIST-OF-MANIFEST-AND-RECEPTOR-IDENTIFIER-AND-DEFINITIONS | SEQ(MANIFEST, RECEPTOR_IDENTIFIER, DEFINITIONS) | |
TUPLE-OF-MANIFEST-LABEL-AND-ANY-SYMBOL | SEQ(MANIFEST_LABEL, !) | |
ONE-OR-MORE-OF-BINDING-PAIR | +(BINDING_PAIR) | |
RECEPTOR_IDENTITY | SEQ(RECEPTOR_LABEL, RECEPTOR_IDENTIFIER) | placeholder structure for compository identifier |
TUPLE-OF-RECEPTOR-LABEL-AND-DEFINITIONS | SEQ(RECEPTOR_LABEL, DEFINITIONS) | |
ZERO-OR-MORE-OF-RECEPTOR-DEFINITION | *(RECEPTOR_DEFINITION) | |
LIST-OF-FLUX-AND-PENDING-SIGNALS-AND-PENDING-RESPONSES-AND-CONVERSATIONS-AND-RECEPTOR-ELAPSED-TIME | SEQ(FLUX, PENDING_SIGNALS, PENDING_RESPONSES, CONVERSATIONS, RECEPTOR_ELAPSED_TIME) | |
LIST-OF-INSTANCE-OF-AND-CONTEXT-NUM-AND-PARENT-CONTEXT-NUM-AND-RECEPTOR-STATE | SEQ(INSTANCE_OF, CONTEXT_NUM, PARENT_CONTEXT_NUM, RECEPTOR_STATE) | |
ZERO-OR-MORE-OF-RECEPTOR-XADDR | *(RECEPTOR_XADDR) | |
LIST-OF-ACTIVE-RECEPTORS | SEQ(ACTIVE_RECEPTORS) | |
DATE | SEQ(YEAR, MONTH, DAY) | |
TIME | SEQ(HOUR, MINUTE, SECOND) | |
TIMESTAMP | SEQ(TODAY, NOW) | |
LIST-OF-ANY-SYMBOL | SEQ(!) | |
REDUCTION-ERROR | SEQ(ERROR_LOCATION, ERROR_DATA) | |
LOGICAL-OR-OF-COUNT-AND-UNLIMITED | OR(COUNT, UNLIMITED) | |
TUPLE-OF-ZERO-OR-ONE-OF-TIMEOUT-AT-AND-ZERO-OR-ONE-OF-REPETITIONS | SEQ(?(TIMEOUT_AT), ?(REPETITIONS)) | |
STRUCTURE-OF-CSTRING | %CSTRING | |
LOGICAL-OR-OF-PARAM-PATH-AND-PARAM-LABEL | OR(PARAM_PATH, PARAM_LABEL) | |
LOGICAL-OR-OF-RESULT-SYMBOL-AND-RESULT-VALUE-AND-RESULT-LABEL | OR(RESULT_SYMBOL, RESULT_VALUE, RESULT_LABEL) | |
TUPLE-OF-TRANSCODE-TO-AND-ZERO-OR-MORE-OF-ANY-SYMBOL | SEQ(TRANSCODE_TO, *(!)) | |
PAIR-OF-ANY-SYMBOL | SEQ(!, !) | |
TUPLE-OF-ZERO-OR-MORE-OF-COND-PAIR-AND-COND-ELSE | SEQ(*(COND_PAIR), COND_ELSE) | |
STX-TOKEN-LIST | *(OR(STX_SL, STX_OP, STX_CP, STX_SET, STX_OS, STX_CS, STX_LABEL, STX_OG, STX_CG, STX_EQ, STX_NEQ, STX_WALK, STX_*, STX_+, STX_Q, STX_OR, STX_COMMA, STX_EXCEPT, STX_NOT, STX_VAL_S, STX_VAL_C, STX_VAL_I, STX_VAL_F)) | |
TREE_DELTA | SEQ(TREE_DELTA_PATH, TREE_DELTA_VALUE, TREE_DELTA_COUNT) | |
ZERO-OR-MORE-OF-SYMBOL-INSTANCES | *(SYMBOL_INSTANCES) | |
TUPLE-OF-LAST-TOKEN-AND-ZERO-OR-MORE-OF-INSTANCE-TOKEN | SEQ(LAST_TOKEN, *(INSTANCE_TOKEN)) | |
TUPLE-OF-INSTANCES-AND-ZERO-OR-ONE-OF-INSTANCE-TOKENS | SEQ(INSTANCES, ?(INSTANCE_TOKENS)) | |
ZERO-OR-MORE-OF-LOGICAL-OR-OF-P-OP-AND-P-CP-AND-P-COLON-AND-P-LABEL-AND-P-VAL-S-AND-P-VAL-C-AND-P-VAL-I-AND-P-VAL-F-AND-P-VAL-PATH | *(OR(P_OP, P_CP, P_COLON, P_LABEL, P_VAL_S, P_VAL_C, P_VAL_I, P_VAL_F, P_VAL_PATH)) | |
ZERO-OR-MORE-OF-LINE | *(LINE) | |
COMMAND | SEQ(VERB, *(COMMAND_PARAMETER)) | |
ZERO-OR-MORE-OF-TEST-INT-SYMBOL | *(TEST_INT_SYMBOL) | |
KEY-VALUE-PARAM | SEQ(PARAM_KEY, PARAM_VALUE) | |
VERSION | SEQ(VERSION_MAJOR, VERSION_MINOR) | |
STATUS | SEQ(STATUS_VALUE, STATUS_TEXT) | |
ZERO-OR-MORE-OF-HTTP-REQUEST-PATH-SEGMENT | *(HTTP_REQUEST_PATH_SEGMENT) | |
FILE-HANDLE | SEQ(FILE_NAME, FILE_EXTENSION) | |
ZERO-OR-MORE-OF-HTTP-REQUEST-PATH-QUERY-PARAM | *(HTTP_REQUEST_PATH_QUERY_PARAM) | |
ZERO-OR-MORE-OF-HTTP-REQUEST-PATH-QUERY-PARAMS | *(HTTP_REQUEST_PATH_QUERY_PARAMS) | |
URI | SEQ(HTTP_REQUEST_PATH_SEGMENTS, HTTP_REQUEST_PATH_FILE, HTTP_REQUEST_PATH_QUERY) | |
MEDIA-TYPE | SEQ(MEDIA_TYPE_IDENT, MEDIA_SUBTYPE_IDENT, *(MEDIA_PARAM)) | |
HEADER | SEQ(HEADER_KEY, HEADER_VALUE) | generic headers for now, should be more semantic |
LIST-OF-ZERO-OR-MORE-OF-HEADER | SEQ(*(HEADER)) | |
LOGICAL-OR-OF-CONTENT-TYPE-AND-CONTENT-ENCODING | OR(CONTENT_TYPE, CONTENT_ENCODING) | |
LIST-OF-HTTP-REQUEST-VERSION-AND-HTTP-REQUEST-METHOD-AND-HTTP-REQUEST-PATH | SEQ(HTTP_REQUEST_VERSION, HTTP_REQUEST_METHOD, HTTP_REQUEST_PATH) | |
LOGICAL-OR-OF-HTTP-REQUEST-HOST-AND-HTTP-REQUEST-USER-AGENT | OR(HTTP_REQUEST_HOST, HTTP_REQUEST_USER_AGENT) | |
ZERO-OR-MORE-OF-LOGICAL-OR-OF-HTTP-REQUEST-HEADER-AND-HTTP-GENERAL-HEADER-AND-HTTP-ENTITY-HEADER | *(OR(HTTP_REQUEST_HEADER, HTTP_GENERAL_HEADER, HTTP_ENTITY_HEADER)) | |
LIST-OF-HTTP-REQUEST-LINE-AND-HTTP-REQUEST-HEADERS-AND-HTTP-REQUEST-BODY | SEQ(HTTP_REQUEST_LINE, HTTP_REQUEST_HEADERS, HTTP_REQUEST_BODY) | |
LOGICAL-OR-OF-HTTP-GENERAL-HEADER-AND-HTTP-RESPONSE-HEADER-AND-HTTP-ENTITY-HEADER | OR(HTTP_GENERAL_HEADER, HTTP_RESPONSE_HEADER, HTTP_ENTITY_HEADER) | |
ZERO-OR-MORE-OF-HTTP-HEADER | *(HTTP_HEADER) | |
LIST-OF-HTTP-RESPONSE-STATUS-AND-HTTP-HEADERS-AND-HTTP-RESPONSE-BODY | SEQ(HTTP_RESPONSE_STATUS, HTTP_HEADERS, HTTP_RESPONSE_BODY) | |
ZERO-OR-MORE-OF-HTML-ATTRIBUTE | *(HTML_ATTRIBUTE) | |
HTML-ELEMENT | SEQ(HTML_ATTRIBUTES, HTML_CONTENT) |