C Source Code Conventions and Abbreviations Dictionary
From NARS2000
NARS C Source Code Conventions and Abbreviations Dictionary:
Conventions
Convention | Syntax | Description/Where Used | Sample Use | Purpose |
---|---|---|---|---|
PrimFn | Prefix | name prefix to all Primary APL functions | PrimFnRho_EM_YY | Quickly identify such names |
SysFn | Prefix | name prefix to all Quad type System Functions | SysFnWA_EM_YY | Quickly identify such names |
_EM_YY | Suffix | name suffix to all Primary APL functions AND Quad System Functions, including monadic and dyadic calls | SysFnTS_EM_YY | Quickly identify such names, referencing |
Abbreviations Dictionary
Abbrev | Meaning | Location, Use, Cross Ref's | Sample Actual Usage |
---|---|---|---|
lp | long pointer | Usually found as a prefix to variable names. NARS makes frequent use of pointers to speed up processing times, to make NARS2000.exe more efficient. | lptkRhtArg (var name; long ptr to token var structure of a right hand argument for a function call) |
NELM | Number of Elements | Usually embedded within variable names. Conceptually like Rho or ⍴ of a vector. | APLNELM aplNELMRht; // VarType VarName; Right arg NELM for variable type(APLNELM) and variable named aplNELMRht |
PerTab | per tab, esp. per APL workspace tab | Embedded in var names. Detailed explanation of PerTab found in C source header file <pertab.h>. NARS supports multiple simultaneously open and running workspaces. Each workspace is displayed as a separate Tab, much like folder tabs. All variables in all workspace are distinctly maintained, with each PerTab. | LPPERTABDATA lpMemPTD; where LPPERTABDATA is the variable type and lpMemPTD is a pointer to PerTabData global memory |
PTD | per tab of data | Embedded in var names. Each NARS workspace is kept separate and distinct in its own PTD. | lpMemPTD structured var name, in this case a ptr to PerTabData global memory |
Rank | Rank | Rank: Scalars=0, Vectors=1, Matrices=2..N. Like ⍴⍴ of an APL variable or contained data structure, see shape of the shape RhoRho or ⍴⍴. | APLRANK aplRankLft // Left arg rank (variable type, variable name) |
SIS | State Indicator Stack | Frequently embedded within variable and function names. Detailed explanation of SIS found in C source header file <sis.h> See also APL's System Command )SI. | lpMemPTD->lpSISCur->ResetFlag; (var name) AND FillSISNxt (fcn name) |
tk | token | Frequently found embedded in structured variable names. Tokens are basic building blocks of C Programming; hence tk vars frequently represent important structured variables in NARS. | LPTOKEN lptkRhtArg |
TKT_ | token type | Prefix to typed variable names. Most tokens are simple in that they have type and data only.e,g, TKT_LEFTPAREN and '('. Some frequently used tokens are complex in that their data points to other data. Always also associated with a Constant type value, e.g. TKT_VARARRAY = 1A(Hex val, 26 dec val). Full explanation see file <tokens.h>. See also typedef structures TOKEN. | TKT_VARARRAY - main workhorse. Its tkData is an HGLOBAL which contains an array which is either simple, nested, or mixed(combination of diff data types, e.g. string int float and or double). |
UTF | Unicode Transformation Format | Variable names, constants, especially UTF16 | UTF16_RHO |