Package (main) |
Details |
Procedures: |
: PDCO to add tabby to treadling
List total amounts of allocation. Needs Icon Version 8.5 or above.
: PDAE for parallel evuation with repeats
e1 | e2
: PDCO to model alternation
e1 | e2
&ANCHOR = 1
e1 ! e2
e1 ! e2
ARB
ARBNO(P)
ARB(I)
e1 op e2
e1 op e2
e1 ?:= e2
e1 ?:= e2
e1 & e2
e1 & e2
: obtain base filename
used by Bal()
e1 op e2
: PDCO to apply binary operation to sequences
e1 op e2
BitStreamRead(infile, bits, inproc)
BitStreamWrite(outfile, bits, value, outproc)
BitStringGet(bitString, nbits)
BitStringPut(bitString, nbits, value)
: weaving block
procedure body
break e
break e
BREAKX(S)
: PDCO for continued-fraction approximations
CacheImage(win, x, y, w, h, filename)
Internal procedure to help process DST rules.
Converts a time in the format of &clock to seconds past midnight. : convert &date to seconds
Cal_DSTDayOfMonthToSec(year, month, mode, day, dayOfWeek)
Internal procedure to calculate seconds at the start of the day specified for DST start or end.
Cal_DateLineToSec(dateline, timeZone)
Converts a date in long form to seconds since start of DateBaseYear. : convert &dateline to seconds
Converts a date in Icon &date format (yyyy/mm/dd) do seconds past DateBaseYear. : convert &date to seconds
Cal_GMTToLocalSec(seconds, timeZone)
Gets the time zone record with ID "timeZoneName".
Builds a list of time zones ordered by increasing offset from GMT.
Builds a table of time zones with keys the time zone names and values the time zone records (Cal_TimeZoneRec).
Initialize the date globals -- although done automatically by many calls to date procedures, it's not a bad idea to call this explicitly before using. : initialize calendar globals
If "seconds" represents a time in the DST period for the specified time zone, returns the number of hours by which to adjust standard time to daylight savings time, otherwise fails. "seconds" are local, but not adjusted for DST. : determines if seconds (local) is DST
Fails unless year is a leap year. : determine if year is leap
Cal_LeapYearsBetween(loYear, hiYear)
Counts leap years in the range [loYear,hiYear).
Cal_LocalToGMTSec(seconds, timeZone)
Time zone data, ordered by increasing hoursFromGMT
Cal_NthWeekdayToSec(year, month, weekday, n, fromDay)
Calculates number of seconds on the "n"th "weekday" of "month" of "year" following or preceding "fromDay" (e.g. the 3rd Wednesday of April 1998 on or following the 5th). If n is negative, n is counted from the end of the month. Fails if the day does not exist (i.e., n is out of range for that month). The "time window" in which the day counting takes place, in the absense of a "fromDay", is the entire month specified. By providing a nonnull "fromDay", the window can be restricted to days including and following "fromDay" (if it is positive), or preceding (and not including, if it is negative). Examples: For first Sunday in April on or after the 5th: NthWeekdayToSec(1998,4,1,1,5) For last Sunday in October, 1998: NthWeekdayToSec(1998,10,1,-1) : gets seconds of nth specified weekday of month
Cal_RecToSec(calRec, timeZone)
Converts a Cal_Rec to seconds since start of DateBaseYear.
Converts seconds past midnight to a string in the format of &clock. : convert seconds to &clock
Cal_SecToDate(seconds, timeZone)
Converts seconds past DateBaseYear to a &date in Icon date format (yyyy,mm,dd). : convert seconds to &date
Cal_SecToDateLine(seconds, timeZone)
Produces a date in the same format as Icon's &dateline. : convert seconds to &dateline
Cal_SecToRec(seconds, timeZone)
Produces a date record computed from the seconds since the start of DateBaseYear.
Cal_SecToUnixDate(seconds, timeZone)
Returns a date and time in UNIX format: Jan 14 10:24 1991 : convert seconds to UNIX time
case e of { caselist }
case e of { caselist }
P1 P2
e1 : e2
e1 : e2
: remove contents of output buffer
e1 ; e2 in case list
e1 ; e2 in case list
's'
's'
: convert &date to seconds
List garbage collections performed.
: PDCO to compare sequences
: PDCO to generate integers not in sequence
: PDCO to generate integers not in sequence
{ e1; e2; ... }
{ e1; e2; ... }
: PDCO for generalized Lisp conditional
Guess the content-type of a file based on its name
create e
create e
: PDCO to produce cumulative sum
: PDAE for parallel evaluation with cycling
: parse DOSfile name
DateLineToSec(dateline, hoursFromGmt)
: convert &dateline to seconds
DateRecToSec(dateRec, hoursFromGmt)
: convert &date to seconds
: PDCO to decimate sequence
: PDCO to create decimation sequence
: PDCO to decollate sequence
default: e
default: e
: PDCO to generate differences in sequences
: PDCO to generate difference sequence
: Wrapper to build directive specification
Directive_exists(fileL, DirectiveT, action, argL, editproc)
: build existence flag: action
Directive_ignore(fileL, DirectiveT, action, argL, editproc)
: quietly ignore any directive
Directive_list(fileL, DirectiveT, action, argL, editproc)
: build list: action value(s)
Directive_set(fileL, DirectiveT, action, argL, editproc)
: build set: action value(s)
Directive_table(fileL, DirectiveT, action, argL, editproc)
: build table: action key value
Directive_table_of_sets(fileL, DirectiveT, action, argL, editproc)
: build table of sets: action key value(s)
Directive_value(fileL, DirectiveT, action, argL, editproc)
: build value: action value
Directive_warning(fileL, DirectiveT, action, argL, editproc)
: flag directive with a warning
/P
Display storage information
: weaving downrun
: weaving downup
: weaving downto
DrawRaisedRectangle(W, x, y, w, h, i)
Draw a raised rectangle.
DrawSunkenRectangle(W, x, y, w, h, i)
Draw a sunken rectangle.
: PDCO to elevate sequence
end
end
every e
every e1 do e2
: PDCO to model iteration
every e
every e1 do e2
\S
: weaving extension
: PDCO to extend sequence
: PDAE to extract values
fail
fail
e . f
e . f
: PDAE for reversal of lifo evaluation
FileSpeedo(file, length, outFile, str)
FilterRectangle(W, x, y, w, h)
Opens the URL, submits the form, and returns the server handle
PDCO for friendly sequences
: PDCO to concatenate sequences
: PDCO for generalized conjunction
: get back line written
global v1, v2, ...
global v1, v2, ...
: histogram
transmit an ISPEXEC request to ISPF
detect presence or absence of ISPF
get value of an ISPF "function" variable
assign to an ISPF variable
if e1 then e2
if e1 then e2 else e3
if e1 then e2
if e1 then e2 else e3
i
i
: PDCO to filter out non-increasing values
: PDCO to select terms by position
List information before running.
initial e
initial e
: PDCO to interleave sequences
: weaving interleave
invocable ... (problem)
e0(e1, e2, ...)
e0(e1, e2, ...)
: determine if year is leap
KMsize - convert a string like 64M (64 Megs) into an integer
&s
: PDCO for Lisp conditional
LEN(I)
: PDCO to produce length of sequence
: PDAE for standard lifo evaluation
list image
e1 \ e2
: PDCO to model limtation
e1 \ e2
link "v1, v2, ..."
link "v1, v2, ..." (problem)
called as List{e, l, m}
: list from sequence
[e1, e2, ... ]
local v1, v2, ...
local v1, v2, ...
LOCATE(P)
: look at next line
: lower trimming
: PDCO to map values
max-first ARB
next
next
not e
not e
NOTANY(S)
&null
&null
: PDCO to force odd/even sequence
: PDCO to produce palindromic sequence
: weaving palindrome
: PDAE for parallel evaluation
: synonym for Inter
(e1, e2, ... )
(e1, e2, ... )
: Pascal triangle row
: obtain path of filename
: PDCO to produce pattern palindrome
: weaving pbox
e0{e1, e2, ... }
e0{e1, e2, ... }
: PDCO for periodic part of sequence
: weaving permutation
: PDCO for permutations
: PDCO to generate pivot points
PDCO to generate positions of difference
positions in e of i
procedure s(v1, v2, ...)
: put back line read
: PDCO to generate from sequences at random
: position where regular expression matched
: position past regular expression matched
: regular expression pattern list
Re_MatchReg(tokList, groupNbr)
s1,s2,...,sN
L
s1,s2,...,sN
: read ahead
ReadDirectives(fnL, spec, comment, continue, escape, quotes, whitespace, errp)
: Builds icon data structures from a config file
record s(v1, v2, ...)
record s(v1, v2, ...)
: PDCO to reduce sequence using binary operation
used in code generation
List region sizes.
: PDCO for remove duplicate values in a sequence
|e
: PDCO to model repeated alternation
|e
repeat e
: PDCO to repeat sequence
repeat e
: PDCO to replicate values in a sequence
P = S
: PDCO to model limited iteration
return e
return e
: PDCO to reverse sequence
return whether an EXEC is active
return a table of all Rexx variables
drop a Rexx variable
assign to a Rexx variable
return the value of a Rexx variable
record image
: PDCO to rotate sequence
RPOS(I)
RTAB(I)
SIGINT_handler: handles CTRL-Cs to this process
e1 ? e2
e1 ? e2
: convert seconds to &clock
SecToDate(seconds, hoursFromGmt)
: convert seconds to &date
SecToDateLine(seconds, hoursFromGmt)
: convert seconds to &dateline
SecToDateRec(seconds, hoursFromGmt)
SecToUnixDate(seconds, hoursFromGmt)
: convert seconds to UNIX time
e1[e2 op e3]
e1[e2 op e3]
: PDCO to produce multiple of values in sequence
: PDCO to produce multiple of values in sequence
: PDCO to return list of values
: set global OS features
List relveant implementation information
set image
: PDAE for simple evaluation
: PDCO to skip terms
"s"
"s"
: generalized modular reduction
SPAN(S)
: fill in gaps in integer sequences
SpeedoNew(max, length, file, str)
static v1, v2, ..
static v1, v2, ..
List storage used.
: remove chars from string
e1[e2]
e1[e2]
SUCCEED
: PDCO to sum sequence to a limit
: PDCO to sum sequence to a limit
suspend e
suspend e1 do e2
suspend e
suspend e1 do e2
: weaving Template
table image
List elapsed time.
--------------------------------------------------------------------------------
e1 to e2
e1 to e2 by e3
e1 to e2
e1 to e2 by e3
: PDCO to apply trinary operator to sequneces
Get a binary value from a uu-encoded character.
Decode 4-byte encoded string to 3-bytes of binary data.
Decode a uu-encoded string.
Get the ascii character for uu-encoding "i".
Convert "s" to uu-encoded format.
Encode to 3-bytes of binary data into 4-byte uu-encoded string.
: PDCO to filter out duplication values
op e
: PDCO to apply unary operation to sequence
op e
until e
until e1 do e2
until e
until e1 do e2
: weaving updown
: weaving uprun
Uploads a file to a web server, returns the server handle
: upper sequence trimming
: synonym for Repl
v
v
--------------------------------------------------------------------------------
WeightedShuffle(sample, percentage)
while e
while e1 do e2
while e
while e1 do e2
: PDCO to produce sequence values alternately
F(P)
Given an integer value, return a hexidecimal string
Given an octal string, returns a hexadecimal string. Uses Unicon octal specifications
Given a Unicon structure, produce a JSON equivalent if possible. TODO: Check for fails that need error messages
HP 95LX Appointment Book End of File Record: Byte Offset Name Type Contents 0 RecordType char 50 (32h) 1 RecordLength int 0 (00h, 00h)
HP 95LX Appointment Book File Format The HP 95LX Appointment Book file is structured as a file-identification record, followed by a settings record, followed by a variable number of data records, and terminated by an end-of-file record. There are multiple types of data records corresponding to the different types of appointment book entries. The formats of these appointment book records is described in the following tables. In the descriptions, the type <int> refers to a two-byte integer stored least significant byte first, the type <swpint> refers to a two-byte integer stored most significant byte first, the type <char> refers to a one-byte integer, and the type <ASCII> refers to a string of ASCII characters. HP 95LX Appointment Book File Identification Record: Byte Offset Name Type Contents 0 ProductCode int -1 (FFh, FFh) 2 ReleaseNum int 1 (01h, 00h) 4 FileType char 1 (01h)
abk_write_monthly_pos(f, data)
: sum of rationals
adjustfracprec(fracpart, prec)
Zero-extend or round the fractional part to 'prec' digits. Returns a list: [ fracpart, carry ] where the fracpart has been adjusted to the requested precision, and the carry (result of possible rounding) is to be added into the whole number.
: additive digital persistence
: additive digital root
########################################################################### File: allof.icn Subject: Procedure for conjunction control operation Author: Robert J. Alexander Date: April 28, 1990 ########################################################################### This file is in the public domain. ########################################################################### allof{expr1,expr2} -- Control operation that performs iterative conjunction. Iterative conjunction permits a conjunction expression to be built at run time which supports full backtracking among the created terms of the expression. The computed expression can be of arbitrary length, and is built via an iterative loop in which one term is appended to the expression (as if connected with a "&" operator) per iteration. Expr1 works like the control expression of "every-do"; it controls iteration by being resumed to produce all of its possible results. The allof{} expression produces the outcome of conjunction of all of the resulting instances of expr2. For example: global c ... pattern := "ab*" "abcdef" ? { allof { c := !pattern , if c == "*" then move(0 to *&subject - &pos + 1) else =c } & pos(0) } This example will perform a wild card match on "abcdef" against pattern "ab*", where "*" in a pattern matches 0 or more characters. Since pos(0) will fail the first time it is evaluated, the allof{} expression will be resumed just as a conjunction expression would, and backtracking will propagate through all of the instances of expr2; the expression will ultimately succeed (as its conjunctive equivalent would). Note that, due to the scope of variables in co-expressions, variables shared between expr1 and expr2 must have global scope, hence c in the above example must be global. The allof{} procedure models Icon's expression evaluation mechanism in that it explicitly performs backtracking. The author of this procedure knows of no way to invoke Icon's built-in goal directed evaluation to perform conjunction of a arbitrary number of computed expressions (suggestions welcome). ########################################################################### Requires: co-expressions ###########################################################################
: arithmetic mean
: Caseless version of any()
: arithmetic sequence with random intervals
: arithmetic sequence
: Caseless version of bal()
balq(cstop, copen, cclose, cquote, cescape, s, i1, i2)
: bal() with quote escaping.
balqc(cstop, copen, cclose, cquote, cescape, scm, ecm, s, i1, i2)
: balq() with comment escaping
: decode a string from base 64 (MIME)
: encode a string into base 64 (MIME)
Produce the filename at the end of a Unix pathname.
: Beatty sequence 1
: Beatty sequence 2
betweendates(date1, date2, date3)
###################################################### # This procedure will determine if date1 is between # the CLOSED interval dates of date2 and date3 # (include date2 and date3 in the interval) # This will fail if date3 < date2 ######################################################
bilit(text, alpha, first, second)
: binomial coefficient
: apply binary operation
bnf_2_edges: string -> edge records s -> Es (a generator) where s is a CFPSG rule in BNF form where Es are edges
bnf_file_2_edges: concatenate backslash-final lines & parse
Construct the replacement map. Used internally.
bullet_nose(x, y, a, b, steps, lo, hi)
: Julian date
cardioid(x, y, a, steps, lo, hi)
: concatenate strings
: generalized Catalan sequence
: ceiling
: continued-fraction approximation
: continued-fraction sequence
cgiEcho(file,args[]) - write a file to both HTML stdout and a regular text file, if one is present
Replaces any hex codes in the given string by their ascii character equivalents and returns the fixed string.
cgiInput(type, name, values) -
cgiRemoteUser(): returns the reported Web user.
cgiSelect(name, values) this program with the name and value makes a select box
: Hofstadter's chaotic sequence
: character count
: check for pattern form
: sequence of centered hexamorphic numbers
cissoid_diocles(x, y, a, steps, lo, hi)
: transitive closure of graph
: string collation
colmize(entries, maxcols, space, minwidth, tag, tagspace, tagminwidth, rowwise, distribute)
: character combinations
: insert commas in number
: get components of file name
: define composite projection
: character compression
special shell conditions in [ ]
: generalized Connell sequence
: continued-fraction convergents
convert_to_list(str, suboptionsep)
PD: : convert_to_list(str, suboptionsep) - the sub-string elements that are separated : by the value found in suboptionsep into a list of strings that are option/value : pairs and prefix each sub-string with the "-". : : This procedure is helper procedure to allow processing of sub-options as if : they were an argument list. :
: convert coodinate to path
: copy list of lists
-------------------------------------------------------------------------------- Return the number of cores reported by &features
: hyperbolic cosine
create_arcs(master_list, field, current_state, POS)
create_arcs: fill out a table of arcs leading out of the current state, and place that table in the tbl field for current_state
: number of structures created
cross_curve(x, y, a, b, steps, lo, hi)
: set of characters
: lexically ordered characters
currency(amount, width, minus, decPlaces, minDollarDigits, currencySign, decimalPoint, comma)
: permutation cycles
cycloid(x, y, a, b, steps, lo, hi)
: date in natural English
: day of the week
old name for close()
old name for fetch()
dbopen(dsn, tabl, user, password)
dbopen(dsn, user, password) - opens database connection, no default table dbopen(dsn, table, user, password) - opens connection, supplies default table
dbselect(db, cols, filter, order)
old name for sql()
binary value of n bytes
delimited integer
integer of n digits
ddf_oneof(tabproc, moveproc, quantum)
delimited real
real of n digits
repeat sublist to EOR
delimited string
string of n characters
: close DDF file
: open DDF file
: read DDF record
-------------------------------------------------------------------------------- Remove whitespace and replace it by a single plus sign
extra help for .bbl files
This procedure removes braces which get inserted by common single-line environments such as font changes Bug: should look for other ways commands are terminated besides spaces, e.g. {\tt\em starts a tt command.
: convert repeating decimal to rational
: decimal expansion of rational
: position decimal point
Generate decoded results. At the top level, there is only one, but for structures, it is called recursively and generates the the decoded elements.
decollate s according to even or odd i : string decollation
Every component sub-structure of the current structure gets tagged and added to a pseudo-done set.
Decode a file.
remove footnotes and similar multiline entities all footnotes are assumed to end in }. and this is processed after all single-line entities were already processed
The new delete operation, that detects equal-valued elements. Always succeeds
: delete characters
: delete string
This procedure handles macros that comprise an entire line/start a line
Decode a list. The newly constructed list is added to the table that relates tags to structure values.
deltoid(x, y, a, steps, lo, hi)
This routine handles macros that may appear anywhere on a line
: depth of tree
returns if date1 is the same as date2, fails otherwise (copy and paste is cool)
dequote(s, escapeString, escapeProc)
Decode a record.
Dereference 's'.
Decode a set. Compare to delist above.
Decode a table.
dif(stream, compare, eof, group)
: number of different characters
diffread() -- Read a line from an input stream.
: count digits in file
: product of digits
: sum digits of integer repeated to one digit
: digital root
: sum of digits
: succeed if name is a directory
Return the directory name of the file name s, including the trailing /
: generate low to high nonsequentially
: real division
long division
return an image of a division
: generate the divisors of n
: divide rationals.
# returns if date1 is less than date2, fails otherwise
do_apostrophe: coexpression -> TOK record getchar -> t Where getchar is the coexpression that yields another character from the input stream, and t is a TOK record with "CSETLIT" as its sym field. Puts everything upto and including the next non-backslashed apostrope into the str field.
do_digits: coexpression -> TOK record getchar -> t Where getchar is the coexpression that produces the next char on the input stream, and where t is a TOK record containing either "REALLIT" or "INTLIT" in its sym field, and the text of the numeric literal in its str field.
do_dot: coexpression -> TOK record getchar -> t Where getchar is the coexpression that produces the next character from the input stream and t is a token record whose sym field contains either "REALLIT" or "DOT". Essentially, do_dot checks the next char on the input stream to see if it's an integer. Since the preceding char was a dot, an integer tips us off that we have a real literal. Otherwise, it's just a dot operator. Note that do_dot resets next_c for the next cycle through the main case loop in the calling procedure.
do_identifier(getchar, reserved_tbl)
do_identifier: coexpression x table -> TOK record (getchar, reserved_tbl) -> t Where getchar is the coexpression that pops off characters from the input stream, reserved_tbl is a table of reserved words (keys = the string values, values = the names qua symbols in the grammar), and t is a TOK record containing all subsequent letters, digits, or underscores after next_c (which must be a letter or underscore). Note that next_c is global and gets reset by do_identifier.
Create the image of every component of the current structure. Sub-structures get deleted from the local pseudo-done set before we actually create their image.
do_newline(getchar, last_token, be_tbl)
do_newline: coexpression x TOK record x table -> TOK records (getchar, last_token, be_tbl) -> Ts (a generator) Where getchar is the coexpression that returns the next character from the input stream, last_token is the last TOK record suspended by the calling procedure, be_tbl is a table of tokens and their "beginner/ender" status, and Ts are TOK records. Note that do_newline resets next_c. Do_newline is a mess. What it does is check the last token suspended by the calling procedure to see if it was a beginner or ender. It then gets the next token by calling iparse_tokens again. If the next token is a beginner and the last token is an ender, then we have to suspend a SEMICOL token. In either event, both the last and next token are suspended.
do_number_sign: coexpression -> &null getchar -> Where getchar is the coexpression that pops characters off the main input stream. Sets the global variable next_c. This procedure simply reads characters until it gets a newline, then returns with next_c == "\n". Since the starting character was a number sign, this has the effect of stripping comments.
do_operator(getchar, operators)
do_operator: coexpression x list -> TOK record (getchar, operators) -> t Where getchar is the coexpression that produces the next character on the input stream, operators is the operator list, and where t is a TOK record describing the operator just scanned. Calls recognop, which creates a DFSA to recognize valid Icon operators. Arg2 (operators) is the list of lists containing valid Icon operator string values and names (see above).
do_parends: string -> string(s) Given a(b)c suspend abc; given a(b|c)d suspend abd and acd, etc. Used in conjuction with do_slash().
do_quotation_mark: coexpression -> TOK record getchar -> t Where getchar is the coexpression that yields another character from the input stream, and t is a TOK record with "STRINGLIT" as its sym field. Puts everything upto and including the next non-backslashed quotation mark into the str field. Handles the underscore continuation convention.
do_slash: string -> string(s) Given a|b suspend a then b. Used in conjunction with do_parends().
do_whitespace(getchar, whitespace)
do_whitespace: coexpression x cset -> &null getchar x whitespace -> &null Where getchar is the coexpression producing the next char on the input stream. Do_whitespace just repeats until it finds a non-whitespace character, whitespace being defined as membership of a given character in the whitespace argument (a cset).
: domain of table
: open file on DPATH
: process DOS directory
dosdirlist(dpath, dpart2, infotab)
: get list of DOS directory
: DOS file names
: convert file name to DOS format
doy - return day-of-year from (year, month, day) Adapted from K&R
: full path to file on DPATH
: dress sequence
Duplicate the value on top of the stack
edge2tree: edge -> tree e -> t where e is an edge structure (active or inactive; both are okay) where t is a tree like what's described in Ralph Griswold's structs library (IPL); I don't know about the 2nd ed. of Griswold & Griswold, but the structure is described in the 1st ed. in section 16.1 fails if, for some reason, the conversion can't be made (e.g. the edge structure has been screwed around with in some way)
e-format: [-]m.dddddde(+|-)xx Differs from C and Fortran E formats primarily in the details, among them: - Single-digit exponents are not padded out to two digits. - The precision (number of digits after the decimal point) is reduced if needed to make the number fit in the available width, if possible. The precision is never reduced-to-fit below 1 digit after the decimal point.
: EIS A sequence
ellipse(x, y, a, b, steps, lo, hi)
ellipse_evolute(x, y, a, b, steps, lo, hi)
: return [a, 1/f] for named ellipsoid
Encode an arbitary value as a string.
-------------------------------------------------------------------------------- Return a string containing the entire contents of a file
epitrochoid(x, y, a, b, h, steps, lo, hi)
epsheader(f, x, y, w, h, flags)
: write PostScript header
: compare values for equivalence
s2
s
s2
: list of values generated by Icon expression
: convert base 10 to arbitrary base
: execute expression in lists
: test file existence
expand_fake_beginner(next_token)
expand_fake_beginner: TOK record -> TOK records Some "beginner" tokens aren't really beginners. They are token sequences that could be either a single binary operator or a series of unary operators. The tokenizer's job is just to snap up as many characters as could logically constitute an operator. Here is where we decide whether to break the sequence up into more than one op or not.
: expand PFD
: pipe for Icon expression
: extend string
-------------------------------------------------------------------------------- succeeed if s is an extended search command (i.e. apart from leading plus signs, has a plus sign before the end of the string or before a colon char) Also, if it has a space (which will get turned into a plus sign).
i | - arbitrary value |
Simple function that outputs the result of another function. Used to show that exception handling is a true 'throw'.
: return n! (n factorial)
: return list of factors
: factorial sequence
: Farey fraction denominator sequence
: Farey fraction numerator sequence, 1-based
: Farey fraction numerator sequence
: Farey fraction sequence
: characters in order of frequency
: copy file
generalized Fibonacci sequence
: generalized Fibonacci sequence
: return name of field R[i]
fieldlist(s,c): produce list of fields from string Will produce empty words (fields), if they occur between two consecutive separators. Example expected format: "a|bc| |d|||fg"
: return index of field R.s
: sequence of figurate numbers
: create list from lines in file
Return the file name of s
: get list of files
: sequence from file
: file size
: read file into list
-------------------------------------------------------------------------------- Succeed if the line should not be analysed
: Caseless version of find()
: format real number
Flip top two on stack
: floor
folium(x, y, a, b, steps, lo, hi)
: random friendly sequence
: format real number
: full moons on Friday 13ths
fullcopy: make full recursive copy of object
fullimage(x, indent, maxlevel)
returns if date1 is in the future, fails otherwise
: greatest common divisor
: greatest common divisor of list
gdt_nadcon_bckPoint(p, a, xpt, ypt)
gdt_nadcon_box(f, g, xcol, yrow)
gdt_nadcon_findGrid(grids, xpt, ypt)
gdt_nadcon_fwdPoint(p, a, xpt, ypt)
: get canonical date
: find individual by name
: get first name first
(internal procedure)
(internal procedure)
(internal procedure)
: get last name first
: load GEDCOM data from file f
(internal procedure)
: format name
: find referenced nodes
(internal procedure)
: find subrecords
: find subrecord values
: generate GEDCOM tree nodes in preorder
: get year
: generate prime factors of integer
: map string and generate shafts
: generate shafts for string mapping
: define geodetic conversion
: geometric sequence
getFileAndLine(fName, codeLoc)
Produces a list containing the source file name and source line number (in order), given the object file name and byte offset into the code.
getIndexTerms(filename:string)
-------------------------------------------------------------------------------- analyse the XML index configuration file
Read a single mail message from a mail file.
get_CheckBoxes_by_flag(checkboxes)
only works for U.S. addresses
get_directory_list(s, dir_list, file_list)
Read a directory.
Return a list of dictionary entries for a given line of text
: binary search of index
: find collation in sequence
: find motif along a path in sequence
: find repeat in sequence
return a list of directories beneath the directory 's'
: get current DOS drive
getentry(name, termcap_string)
: obtain index from datafile name
getmail SEQ
: make point list from coordinate file
: search database by indexed term
generate the tokens in the input stream
: get DOS working directory
: generalized factorial
glob(s) - generate file-globbed matches for s
: geometric mean
groupfactor() -- Determine how many like lines we need to close off a group of differences. This is the default routine -- the caller may provide his own. Compute: Trunc((2.0 * Log(m)) + 2.0)
: hailstone sequence
Internal use only
Display a help message
Quit after displaying a short usage message.
hippopede(x, y, a, b, steps, lo, hi)
: harmonic mean
: generate chunks of HTML file
strip comments. so far we only strip entire-line comments
: generate references from HTML file
: extract name of HTML tag
: generate values in HTML tag
: trace built-in functions
: convert limage() output to list
: convert arbitrary base to base 10
: generate indices
The new insert operation. Insert2 always succeeds
: interleave strings
: inverse of table function
: return inversion of projection
iparse_tokens(stream, getchar)
iparse_tokens: file -> TOK records (a generator) (stream) -> tokens Where file is an open input stream, and tokens are TOK records holding both the token type and actual token text. TOK records contain two parts, a preterminal symbol (the first "sym" field), and the actual text of the token ("str"). The parser only pays attention to the sym field, although the strings themselves get pushed onto the value stack. Note the following kludge: Unlike real Icon tokenizers, this procedure returns syntactially meaningless newlines as TOK records with a null sym field. Normally they would be ignored. I wanted to return them so they could be printed on the output stream, thus preserving the line structure of the original file, and making later diagnostic messages more usable. Changes to this procedure include adding all addition reserved words that have entered the Unicon language, adding each of the additional operators that relate to message passing and pattern mathcing.
: repeated sequence
: test sequence for compactness
: test for palindrome
: test for integer power
: test for primality
: check for ZIP archive
itokens: file x anything -> TOK records (a generator) (stream, nostrip) -> Rs Where stream is an open file, anything is any object (it only matters whether it is null or not), and Rs are TOK records. Note that itokens strips out useless newlines. If the second argument is nonnull, itokens does not strip out superfluous newlines. It may be useful to keep them when the original line structure of the input file must be maintained.
: generate trace messages in file
: convert string to Icon value
json_parser(token_gen, jerror)
Takes a co-expression to generate JSON tokens. Returns a Unicon equivalent JSON structure.
A string-scanning generator - takes a JSON-formatted string and returns single JSON tokens until scanning is complete
Procedure for converting Unicon escapes and escape sequences to valid JSON escape sequences.
Takes a string s that will be interpreted as JSON data. If the conversion fails, jtou() attempts to use s as a filename. If it fails, then the function fails. This procedure is a generator. It will return the corresponding unicon objects, one-by-one, until the conversion is complete. <[param s - JSON-encoded string or JSON filename]> <[param strict - Flag for specifing strict JSON syntax (non-null)]> <[param mode - Specifies explicit string, "s", or file, "f", handling]> <[param error - file for error messages (defaults to <tt>&errout</tt>)]>
s | - JSON filename |
strict | - Flag for specifing strict JSON syntax (non-null) |
error | - file for error messages (defaults to &errout) |
unicon entity encoded in JSON string |
Simple interface to convert a JSON file into a unicon entity.
s | - JSON-encoded string |
strict | - Flag for specifing strict JSON syntax (non-null) |
error | - file for error messages (defaults to &errout) |
unicon entity encoded in JSON string |
Simple interface to convert a JSON string into a unicon entity. Note: Unlike jtou(), this assumes the JSON string contains a single unicon entity.
julian - convert a date_rec to a Julian day number
kampyle_exodus(x, y, a, b, steps, lo, hi)
kappa(x, y, a, b, steps, lo, hi)
: list of keys in table
: map letter with modifier key to lowercase
: begin list scanning
: end list scanning
: any() for list scanning
: bal() for list scanning
list comparison
: find() for list scanning
: many() for list scanning
: match() for list scanning
: move() for list scanning
: pos() for list scanning
: tab() for list scanning
: upto() for list scanning
The procedure above isn't thread safe because, if another thread makes a storage allocation between the two uses of &allocate, it might report that a small integer is a large integer. Updated return value on success to return the value supplied as per the procedure large() above. : detect large integers
: close open palindrome
: least common multiple
: least common multiple of list
: generalized list collation
: list combinations
: compact sequence
: test list for all terms equal
: construct dag from string
: list decollation
: delete specified list elements
: list term duplication
lemniscate_bernoulli(x, y, a, steps, lo, hi)
lemniscate_gerono(x, y, a, b, steps, lo, hi)
: compare lists for equivalence
: elevate values
: list extension
: list horizontal flip (reversal)
: list vertical flip
limacon_pascal(x, y, a, b, steps, lo, hi)
: list image
list image
: matching items in list
: rewrite L-system
: rewrite L-system
: synonym for lrrcseq
: list interleaving
lissajous(x, y, a, b, r, delta, steps, lo, hi)
: interleave lists with layering
: list padding at left
: list left trimming
: list mapping
: size of largest list entry
: size of smallest list entry
: list palindrome
: list permutations
: list reflection
: remove values from list
: list replication
: list residue
: list reverse
: list rotation
: list right padding
: linear recurrence sequence
: list right trimming
: list run up
: list run up
: shift list terms
: list element swap
: construct tree from string
: keep only unique list elements
: make L-system from list
: mantissa (fractional part)
: Caseless version of many()
Produce the 'from' information from a From: line. Used in verbose mode.
: Caseless version of match()
: maximum string length
: mceiling
: multiplicative digital persistence
: multiplicative digital root
: meandering strings
: generate meandering characters
: form rational mediant
The new member operation, that also detects equal-valued elements
: log memory usage
mfield_to_rfield_name(mfield_name)
: mfloor
: mixed-case string sorting
mkFreeRec(fName, codeLoc, alloLoc, tr)
Construct a record of a duplicated free. Includes both the source location of the free, but also of the original allocation.
mkRec(fName, codeLoc, alloLoc, alloSize)
fName | -- name of executable unit involved |
codeLoc | -- hexadecimal address within that unit |
Construct a report line from the information parsed from the gcc mtrace log. This includes determining the source file name and line number within that source file where the allocation/free took place that caused this record to exist. <[ram alloSize -- size (if known) of the allocation
: modulus for 1-based integers
molodensky(dx, dy, dz, ain, fin, aout, fout)
: define geodetic conversion
: multiply rationals
: generalized Morse-Thue sequence
: Morse-Thue sequence
-------------------------------------------------------------------------------- analyse "aaa+bbb+ccc ..." or "a+4+bbb..." and produce a list ["aaa",1,"bbb",1,"ccc" ...] or ["a", 4, "bbb" ...}
: collate strings in list
: multi-reduction permutation
: sequence of repeated integers
: mutate sequence
: define NAD data conversion
: negative of point
: negative of rational
nephroid(x, y, a, steps, lo, hi)
-------------------------------------------------------------------------------- Gobble text up to the next paragraph break; split it into lines and words. For each word, store the line of occurrence and it's ordinal position. The consumed text is removed from the source string. The data is returned to the caller inside the paragraph structure.
nextseqfilename(dir, pre, ext)
: sequence of polygonal numbers
: n-grams with count
: n-grams set
: n-valued Fibonacci generalization
--------------------------------------------------------------------------------
-------------------------------------------------------------------------------- return s stripped of leading "+" chars
: palindromic numbers
numlist(s,c): produce list of numbers from string Given a string, this procedure returns a list of the numbers in it, if any. Subtlety: suppose we eliminate "n := "; then if the numeric() fails, we never tab() and the while loop never terminates!.
: next prime beyond n
: first appearance unique characters
: odd-even numerical string
options(arg, optstring, errproc)
outcircles(off1, off2, radius, color)
p_err: print error message to stderr & abort
"B"
"b"
"c" and "C"
"d"
"E"
"e"
"H"
"h"
"i" and "I"
"l" and "L" (big-endian)
"s" and "S" (big-endian)
"f"
"u"
"l" and "L" (little-endian)
"s" and "S" (little-endian)
: set of table pairs
: palindromes
parabola(x, y, a, steps, lo, hi)
parse_array(token, token_gen, parse_funcs, jerror)
Helper parsing function recognizes the production rules for a JSON array. Returns a Unicon list if the syntax is proper (success).
parse_false(token, token_gen, parse_funcs, jerror)
Returns a string to represent a boolean false
parse_null(token, token_gen, parse_funcs, jerror)
Returns the null value
parse_number(token, token_gen, parse_funcs, jerror)
Returns the numeric() of the token
parse_object(token, token_gen, parse_funcs, jerror)
Helper parsing function that recognizes the production rules for a JSON object. Returns a Unicon object (table, class, record, set, or cset) if successfully parsed.
parse_sentence(s, filename, start_symbol)
parse_sentence: string x string -> edge records (s, filename) -> Es where s is a chunk of text presumed to constitute a sentence where filename is the name of a grammar file containing BNFs where Es are edge records containing possible parses of s
parse_string(token, token_gen, parse_funcs, jerror)
Removes the delimiting double-quotes from the token. Converts to cset if there are delimiting single-quotes within the double-quotes.
parse_true(token, token_gen, parse_funcs, jerror)
Returns a string to represent a boolean true
: sequence of integer partitions
: Pascal triangle
returns if date1 is in the past, fails otherwise
: find file on path
: load C function from $FPATH
pathsep() returns the sentinel value that separates elements of the path. extra care is needed (on non-Windows systems) when space appears in a pathname, since space is the path separator for many shells.
HP 95LX Phone Book End of File Record: Byte Offset Name Type Contents 0 RecordType char 2 (02h) 1 RecordLength int 0 (00h, 00h)
: generalized Pell sequence
: period of permutation
: string permutations
: perrin sequence
: primes that divide integer
: pattern form to generating expression
: pattern form to Painter expression
: pattern-form to plain string
DOES THIS BELONG HERE?
piriform(x, y, a, b, steps, lo, hi)
: convert program list to string
: produce plural of word
: create VRML point field
: polynomial to profile sequence
: polynomial to string
: add polynomials
: exponentiate polynomial
: multiply polynomials
: sequence of polynomial evaluations
: subtract polynomials
: phase of moon
Pop off stack top
: symbol in position i of symbol list
postIndex(filename:string, waiter)
-------------------------------------------------------------------------------- index a file by looking for index terms and placing \index commands beforehand
: powers sequence
: powers
: define planar projective transformation
: prime decomposition
preprocess pwl
: pre-trim string
: generate primes
: primes from list
: sequence of prime numbers
: product of primes
Produce printable form of a value.
printcol(items, fields, title, pagelength, linelength, auxdata)
Process the lines in a gcc mtrace log file.
This procedure builds up three lists of information based
on the contents of that log file:
-- a list of those malloc()s that don't have associated
frees (global variable noFree)
-- a list of those free()s that attempt to free memory
that was never allocated (noMalloc)
-- a list of those free()s that attempt to free memory
that as already be freed (dupFree)
uniAll | Unicon parser (instance of <tt>UniAll</tt>)
|
Process the arguments, passing flags as appropriate to parser.
process_command_option(args, option, opttable, maptable, finishoption, errproc, nosuboption)
PD: : process_command_option(args, option, opttable, maptable, finishoption, errproc, nosuboption) : :
process_guesses(id, answer, msg)
process_header_field(message, field)
process_option_string(optstring, flags, nosuboption)
PD: : process_option_string(optstring, flags, nosuboption) : :
: project a list of coordinates
: convert program string to list
: convert point to coordinate
: test point equality
: Painter expression to pattern form
s
: rabbit sequence
: convert between bases
: model ?i
: random number generator
: randomize
: random number in range
: random sequence in range
: generate &random
: range of table
: continued fraction sequence for rational
: decimal expansion of rational
: floating-point approximation of rational
: convert rational to string
: reduce rational to lowest terms
: reverse add and then sort sequence
Generate the mail messages from the users system mailbox. Produces each mail messages in internal form.
: convert numerical carpet to matrix
: read graph
: assemble backslash-continued lines
: make L-system from a file
read PFD
: convert to rational with precision p
: reciprocal of rational
recognop: list x string x integer -> list (l, s, i) -> l2 Where l is the list of lists created by the calling procedure (each element contains a token string value, name, and beginner/ender string), where s is a string possibly corresponding to a token in the list, where i is the position in the elements of l where the operator string values are recorded, and where l2 is a list of elements from l that contain operators for which string s is an exact match. Fails if there are no operators that s is a prefix of, but returns an empty list if there just aren't any that happen to match exactly. What this does is let the calling procedure just keep adding characters to s until recognop fails, then check the last list it returned to see if it is of length 1. If it is, then it contains list with the vital stats for the operator last recognized. If it is of length 0, then string s did not contain any recognizable operator.
: define rectangular projection
conversion of standard icon set into new mset.
: string reflection
: handle modulus
render VRML object
: find repeat in sequence
: string replacement
: multiple string replacement
: replicate characters
: residue for j-based integers
record image
This procedure is based on a SNOBOL4 function written by Jim Gimpel. : convert integer to Roman numeral
: string rotation
: round real
routeMessage(message, file1, file2)
Given a single mail message, routes it to the appropriate output file based on the selection criteria.
run command, return its exit code
This is the core routine. It succeeds if two things have the same value(s).
: time in natural English
: binary operation on terms
: compute sequence upper bound FIX!
String scanning helper function that finds a valid JSON escape sequence and returns a valid Unicon escape or escape sequence if possible.
String scanning helper function to retrieve JSON value 'false'
String scanning helper function to retrieve JSON value 'null'
String scanning helper function that returns a JSON number as a string
String scanning helper function that identifies a JSON string and returns a Unicon string
String scanning helper function to retrieve JSON value 'true'
: lexical unique characters
: sequence term collation
: compact sequence
: concatenate sequences
: test for constant sequence
: closed sequence palindrome
: scramble string
: decimate sequence
: sequence decollation
: sequence delta
: sequence delta "direction"
: select characters
return paths separated by semicolons by default, unless the user asks for something else (supplied by Jafar)
Generate triples for the encoded values in concatenation.
: sequence image
sequential_search(KEY, intext)
: brute-force database search
test for sequence equivalence
: structure serial number
set_CheckBoxes_by_flag(i, checkboxes)
: matrix for rotation
: matrix for scaling
: matrix for translation
: matrix for x shear
: matrix for y shear
: set equivalence
: S1 is a subset of S2
: S1 is a proper subset of S2
: extend sequence
return factors in string form
flatten packet sequence BELONGS HERE?
: ground sequence to i
: shaft period
: produce shaft map for characters
prompt | -- header line identifying the trace category |
A | -- list of trace records |
Displays all the record lines for a specific category.
Show a summary of a mail message's header. Used in verbose mode.
Display a list of values on one line, preceded by some prefix. Used in verbose mode.
Display calculator memory
Display calculator stack
showtbl(title, tbl, sort_type, limit, sort_order, posit, w1, w2, gutter, f1, f2)
title | |
tbl | |
sort_type | : show table contents
|
limit | |
sort_order | |
posit | |
w1 | |
w2 | |
gutter | |
f1 | |
f2 |
shquote_words(wordList, quotedChars, escapeString, sepString)
: shuffle
: synonym for digroot()
: sign
: signature sequence
: string image of set
: bracketed sequence image
: hyperbolic sine
: initialize sequence operations
: bal() with escapes
for compatibility with the original name : upto() with escapes
: layer sequences
: compute sequence length
: sequences of first positions of terms
slshupto: cset x string x integer x integer -> integers (c, s, i, j) -> I's (a generator) where I's are the integer positions in s[i:j] before characters in c that is not preceded by a backslash escape : upto() with escapes
: generate s in chunks of size <= n
: map terms in sequence
: compute sequence lower bound FIX
: missing terms in sequence BOGUS??
: modular reduction
: mutation
: snapshot of string scanning
: normalize sequence
: create open sequence palindrome
: positions of first occurrence
: sort on multiple fields
sortff_1(L, fields, k, uniqueObject)
: generate by different sorting orders
: extract keys from sorted list
: sort to produce list of records
: extract values from sorted list
: adjust parity
: spectral sequence
: spell out integer
: period of sequence
: place motif along a path
: generalized motifs along a path
: split line into pieces
: positions of values in sequence
: promote term to sequence
: test for square-free number
: random selection
: reflect sequence horizontally
: reflect sequence vertically
: remove duplicate adjacent terms
: repeat sequence
replicate sequence terms
: rotate sequence vertically
: generate square-root palindrome
: create connected runs
disconnected runs
: scale terms in sequence
: entire sequence collation
: select terms from sequence
: shift terms sequence
: closure sequence
: list from string
: convert string to polynomial
convert string to rational
: substring count
: construct string from tree
string_2_list: string -> list s -> L where L is a list of partially constructed (short) edges, having only LHS and RHS; in the case of nonterminals, the RHS is set to 1, while for terminals the RHS is null (and remains that way throughout the parse)
The original name -
To preserve parallelism between file and procedure names.
Remove non-backslashed spaces and tabs.
: types of structure elements
: difference of rationals
: generate substrings
: find suffix of file name
: sum of numbers
: modular expansion
: unary operation on terms
: position of symbol in symbol list
Create and return a tag for a structure, and save it in tags[x]. Otherwise, if x is not a structure, return image(x).
: find tail of file name
: hyperbolic tanh
: table default
: table difference
: table equivalence
: table intersection
: table inversion
: table union
: tree copy
: tree equivalence
table image
today - obtain computationally-useful values for today's date
Identify a token as a value or a variable
tokenize: break up a sentence into constituent words, using spaces, tabs, and other punctuation as separators (we'll need to change this a bit later on to cover apostrophed words)
Convert a value on the stack to a string
Turn off tracing
Turn on tracing
: transform point list by matrix
: transform point list
: transpose characters
trisectrix_catalan(x, y, a, steps, lo, hi)
trisectrix_maclaurin(x, y, a, b, steps, lo, hi)
: truncate real
: two-way table
: create VRML coordinate index
: create ucode file
unicon library paths
return the top level unicon directory
subtitle Support procedures to provide uncaptured output
This works too. This routine is faster but depends on the Unix "find" program. Don't know if all Unixes have this.
unjulian - produce a date from the Julian day number
"B"
"b"
"c"
"d"
"E"
"e"
"H"
"h"
"i"
"N" and "l" (ell) (big-endian)
"n" and "s" (big-endian)
"f"
"C"
"I" (aye)
"L" (big-endian)
"S" (big-endian)
"L" (little-endian)
"S" (little-endian)
"u"
"V" and "l" (ell) (little-endian)
"v" and "s" (little-endian)
: convert Roman numeral to integer
Concatenate lines with a trailing backslash with the next line and replace the "whitespace \ whitespace" at the join with a single space
: Caseless version of upto()
: merge URLs
: define UTM projection
It is insane to propose a single function as the primary API for the entire library, so here it is. Given a Unicon structure, produce a JSON equivalent if possible. An optional second parameter, error, as a file handle will specify where to print an error message in the event of a error
: list of table values
: set of table values
return s only if it's a legal variable name...
: number of n-digit versum numbers
: versum sequence with operator
: generalized reversed-sum sequence
: validate HTTP: URL
vhttp_contact(host, port, path)
: random variation on Fibonacci sequence
: visit nodes of tree
: write VRML 1.0 file
: produce VRML 2.0 file
walk_tree(n, tree_list, tree_ptrs, depth)
: time since midnight
: write labeled global values
webupdate(website:string, title:"web update")
i3,i4,...,iN
i3,i4,...,iN
s1,s2,...,sN
L
s1,s2,...,sN
witch_agnesi(x, y, a, steps, lo, hi)
word(s) -- Produces the position past a UNIX-style command line word.
wordlist(s,c): produce list of words from string Multiple consecutive separators are counted as one, so this procedure will not return empty words.
: generate words from string
work(id, msg, my_way, name, guess)
wrdate - write out a basic date string with a leadin string
: convert matrix to numerical carpet
: write graph
write_spec(name, spec, opt, mode)
: write weaving include file
write_spec1(name, spec, opt, mode, defns)
: weaving include file
write_spec2(name, spec, opt, mode, defns)
: weaving include file
: write PFD
: read structure from file
Write ximages of x1,x1,...,xn. : write images of values
: write structure to file
: string image of value
xoptions(arg, optstring, errproc, finishoption)
PD: : xoptions(arg, optstring, errproc, finishoption[]) : :@param arg list of strings which represent the arguments given :@ to the calling program :@param optstring string representing the allowable options and sub-options :@ and any required values for those options/sub-options :@errproc error procedure to be used when an error is found in :@ the supplied arg list :@finishoption[] list of applicable values that can terminate the :@ processing of options and values :@returns table containing option/values found in the arg list :@updates arg the value of arg is updated by the removal the found :@ options/values and by pointer semantics, the value in :@ calling procedure :
: black and white bands
: open ZIP directory
: open member of ZIP archive
exit w/ message
Records: |
Anchor(children, bboxCenter, bboxSize, url, parameter, decsription, addChildren, removeChildren)
Appearance(material, texture, textureTransform)
AsciiText(string, spacing, justification, width)
AudioClip(url, duration, starttime, stopTime, pitch, loop, isActive, duration_changed)
Billboard(children, axixOfRotation, bboxCenter, bboxSize, addChildren, removeChildren)
BitString(s, buffer, bufferBits)
Cal_Rec(year, month, day, hour, min, sec, weekday)
Cal_TimeZoneRec(id, hoursFromGMT, data)
point, length
Collision(children, collide, bboxCenter, bboxSize, proxy, collideTime, addChildren, removeChildren)
ColorInterpolator(key, keyValue, set_fraction, value_changed)
Cone(height, bottomRadius, side, bottom)
CoordinateInterpolator(key, keyValue, set_fraction, value_changed)
Cylinder(radius, height, side, top, bottom)
DateRec(year, month, day, hour, min, sec, weekday)
DirectionalLight(on, intensity, ambientIntensity, color, direction)
Fog(color, visibilityRange, fogType, set_bind, bind_changed)
FontStyle(family, style, size, spacing, justify, horizontal, leftToRight, topToBottom, language)
Group(children, bboxCenter, bboxSize, addChildren, removeChildren)
cgiXYCoord() This procedure is used with a ISMAP to figure out what the x and y coords and if they are between a certain boundry. It returns the value of the list that was entered.
ImageTexture(url, repeatS, repeatT)
IndexedLineSet(coord, coordIndex, color, colorIndex, colorPerVertex, set_coordIndex, set_colorIndex)
Inline(url, bboxCenter, bboxSize)
point, point
Lsys(name, axiom, gener, angle, comment, productions)
Material(diffuseColor, ambientIntensity, emissiveColor, shininess, specularColor, transparency)
MovieTexture(url, loop, speed, startTime, stopTime, repeatS, repeatT, isActive, duration_changed)
NavigationInfo(type, speed, avatarSize, headlight, visibilityLimit, set_bind, isBound)
NormalInterpolator(key, keyValue, set_fraction, value_changed)
OrientationInterpolator(key, keyValue, set_fraction, value_changed)
OrthographicCamera(position, orientation, focalDistance, height)
PerspectiveCamera(position, orientation, focalDistance, heightAngle, nearDistance, farDistance)
PixelTexture(image, repeatS, repeatT)
x and y coordinates
PointLight(on, location, radius, intensity, ambientIntensity, color, attenuation)
radius, angle
list of points
PositionInterpolator(key, keyValue, set_fraction, value_changed)
Rectangle(upper_left, lower_right)
point, point
ScalarInterpolator(key, keyValue, set_fraction, value_changed)
Script(url, mustEvaluate, directOutput, list)
Separator(list, renderCulling)
ShapeHints(vertexOrdering, shapeType, faceType, creaseAngle)
SpeedoRec(max, length, file, lastOut, string)
SphereSensor(enabled, autoOffset, offset, isActive, rotation_changed, trackPoint_changed)
Switch(children, choice, whichChoice)
Text(string, length, maxExtent, fontStyle)
Texture2Transform(translation, rotation, scaleFactor, center)
TextureTransform(translation, rotation, scale, center)
Viewpoint(position, orientation, fieldOfView, description, jump, set_bind, isBound, bindTime)
VisibilitySensor(enabled, center, size, isActive, enterTime, exitTIme)
WWWAnchor(name, description, map)
WWWInline(name, bboxSize, bboxCenter)
_DOS_FileParts_(fullname, devpath, device, path, name, extension)
_DirectivesSpec_(classproc, editproc, minargs, maxargs)
abk_daily(alarmEnable, year, month, day, startTime, endTime, leadTime, apptText, noteText)
HP 95LX Appointment Book Daily Data Record: Byte Offset Name Type Contents 0 RecordType char 1 (01h) 1 RecordLength int Number of bytes in remainder of this data record, see note 1 below. 3 ApptState char See note 2 below. 4 Year char Year counting from 1900. 5 Month char Month, 1 - 12. 6 Day char Day, 1 - 31. 7 StartTime swpint Start time in minutes since midnight. 9 EndTime int End time in minutes since midnight. 11 LeadTime char Alarm lead time in minutes, 0 - 30. 12 ApptLength char Length of appointment text in bytes. 13 NoteLength int Length of note text in bytes. 15 ApptText ASCII Appointment text - see note 4 below. 15+ApptLength NoteText ASCII Note text where the null character is used as the line terminator - see note 5.
HP 95LX Appointment Book Monthly by Date Data Record: Byte Offset Name Type Contents 0 RecordType char 3 (03h) 1 RecordLength int Number of bytes in remainder of this data record, see note 1 below. 3 ApptState char See note 2 below. 4 DayOfMonth char Day of month, 1 - 31. 5 StartTime swpint Start time in minutes since midnight. 7 StartYear char Start year counting from 1900. 8 StartMonth char Start month, 1 - 12. 9 StartDay char Start day, 1 - 31. 10 EndTime int End time in minutes since midnight. 12 EndYear char End year counting from 1900. 13 EndMonth char End month, 1 - 12. 14 EndDay char End day, 1 - 31. 15 LeadTime char Alarm lead time in minutes, 0 - 30. 16 ApptLength char Length of appointment text in bytes. 17 NoteLength int Length of note text in bytes. 19 ApptText ASCII Appointment text - see note 4 below. 19+ApptLength NoteText ASCII Note text where the null character is used as the line terminator - see note 5 below.
HP 95LX Appointment Book Monthly by Position Data Record: Byte Offset Name Type Contents 0 RecordType char 4 (04h) 1 RecordLength int Number of bytes in remainder of this data record, see note 1 below. 3 ApptState char See note 2 below. 4 WeekOfMonth char Week of month, 1 - 5. 5 DayOfWeek char Day of week, 1=Sun, ..., 7=Sat. 6 StartTime swpint Start time in minutes since midnight. 8 StartYear char Start year counting from 1900. 9 StartMonth char Start month, 1 - 12. 10 StartDay char Start day, 1 - 31. 11 EndTime int End time in minutes since midnight. 13 EndYear char End year counting from 1900. 14 EndMonth char End month, 1 - 12. 15 EndDay char End day, 1 - 31. 16 LeadTime char Alarm lead time in minutes, 0 - 30. 17 ApptLength char Length of appointment text in bytes. 18 NoteLength int Length of note text in bytes. 20 ApptText ASCII Appointment text - see note 4 below. 20+ApptLength NoteText ASCII Note text where the null character is used as the line terminator - see note 5 below.
abk_settings(startTime, granularity, alarmEnable, leadTime, carryForward)
HP 95LX Appointment Book Settings Record: Byte Offset Name Type Contents 0 StartTime int Daily display start time as the number of minutes past midnight. 2 Granularity int Daily display time line granularity in minutes. 4 AlarmEnable char 1 = on, 0 = off 5 LeadTime char Alarm default lead time in minutes. 6 CarryForward char To do carry forward default, 1 = on, 0 = off.
HP 95LX Appointment Book To Do Data Record: Byte Offset Name Type Contents 0 RecordType char 6 (06h) 1 RecordLength int Number of bytes in remainder of this data record, see note 1 below. 3 ToDoState char See note 3 below. 4 Priority char Priority, 1 - 9. 5 StartYear char Start year counting from 1900. 6 StartMonth char Start month, 1 - 12. 7 StartDay char Start day, 1 - 31. 8 CheckOffYear char Check off year counting from 1900, 0 indicates not checked off. 9 CheckOffMonth char Check off month, 1 - 12, 0 indicates not checked off. 10 CheckOffDay char Check off day, 1 - 31, 0 indicates not checked off. 11 ToDoLength char Length of to do text in bytes. 12 NoteLength int Length of note text in bytes. 14 ToDoText ASCII To do text - see note 4 below. 14+ToDoLength NoteText ASCII Note text where the null character is used as the line terminator - see note 5 below.
HP 95LX Appointment Book Weekly Data Record: Byte Offset Name Type Contents 0 RecordType char 2 (02h) 1 RecordLength int Number of bytes in remainder of this data record, see note 1 below. 3 ApptState char See note 2 below. 4 DayOfWeek char Day of week, 1=Sun, ..., 7=Sat. 5 StartTime swpint Start time in minutes since midnight. 7 StartYear char Start year counting from 1900. 8 StartMonth char Start month, 1 - 12. 9 StartDay char Start day, 1 - 31. 10 EndTime int End time in minutes since midnight. 12 EndYear char End year counting from 1900. 13 EndMonth char End month, 1 - 12. 14 EndDay char End day, 1 - 31. 15 LeadTime char Alarm lead time in minutes, 0 - 30. 16 ApptLength char Length of appointment text in bytes. 17 NoteLength int Length of note text in bytes. 19 ApptText ASCII Appointment text - see note 4 below. 19+ApptLength NoteText ASCII Note text where the null character is used as the line terminator - see note 5 below.
HP 95LX Appointment Book Yearly Data Record: Byte Offset Name Type Contents 0 RecordType char 5 (05h) 1 RecordLength int Number of bytes in remainder of this data record, see note 1 below. 3 ApptState char See note 2 below. 4 MonthOfYear char Month of year, 1=Jan, ... 12=Dec. 5 DayOfMonth char Day of month, 1 - 31. 6 StartTime swpint Start time in minutes since midnight. 8 StartYear char Start year counting from 1900. 9 StartMonth char Start month, 1 - 12. 10 StartDay char Start day, 1 - 31. 11 EndTime int End time in minutes since midnight. 13 EndYear char End year counting from 1900. 14 EndMonth char End month, 1 - 12. 15 EndDay char End day, 1 - 31. 16 LeadTime char Alarm lead time in minutes, 0 - 30. 17 ApptLength char Length of appointment text in bytes. 18 NoteLength int Length of note text in bytes. 20 ApptText ASCII Appointment text - see note 4 below. 20+ApptLength NoteText ASCII Note text where the null character is used as the line terminator - see note 5 below.
analysis(rows, sequence, patterns)
inactive - set; active - list
circle(off1, off2, radius, color)
proj | projection procedure (always ctg_comp_proj)
|
inv | inverse (always ctg_comp_inv)
|
projList | list of projections in composition,
first is applied first, etc.
|
composition of two projections
ctg_ppt(proj, inv, org, tgt, h11, h12, h13, h21, h22, h23, h31, h32, h33)
proj | projection procedure
|
inv | inversion procedure
|
org | origin points
|
tgt | target points
|
h11 | |
h12 | |
h13 | transformation matrix: (x' y' 1) = H (x y 1)
|
h21 | |
h22 | |
h23 | |
h31 | |
h32 | |
h33 |
planar projective transformation record
ctg_rect(proj, inv, xmul, ymul, xadd, yadd)
proj | projection procedure
|
inv | inversion procedure
|
xmul | x multiplier
|
ymul | y multiplier
|
xadd | x additive factor
|
yadd | y additive factor
|
rectangular projection record
ctg_utm(proj, inv, a, f, e, esq, epsq, c0, c2, c4, c6, c8)
proj | projection procedure
|
inv | inversion procedure
|
a | polar radius
|
f | flattening
|
e | eccentricity
|
esq | eccentricity squared
|
epsq | e prime squared
|
c0 | |
c2 | |
c4 | |
c6 | |
c8 | other conversion constants
|
UTM projection record
date_rec(year, month, day, yearday, monthname, dayname)
definition database
ddf_dde(tag, control, name, rep, labels, format, dlist)
tag | record tag
|
control | field control
|
name | field name
|
rep | non-null if labels repeat to end of record
|
labels | list of labels
|
format | format
|
dlist | decoder list
|
data description entry
proc | decoding procedure
|
arg | decoder argument
|
field decoder record
ddf_header(hcode, dlen, ddata, tsize, lsize, psize, s)
hcode | header code (R if to reuse)
|
dlen | data length
|
ddata | dictionary data (as a string)
|
tsize | size of tag field in dictionary
|
lsize | size of length field
|
psize | size of position field
|
s | header string
|
DDF header information
ddf_info(file, header, dlist, dtable)
file | underlying file
|
header | last header
|
dlist | DDA list (of ddf_dde records)
|
dtable | DDA table (indexed by tag)
|
basic DDF file handle
dirinfo(name, ext, size, date, time)
expression database
edge(LHS, RHS, LEN, DONE, BEG, END, SEEN)
gdt_datum_rec(region, name, area, eps, dx, dy, dz, ex, ey, ez)
region | major region of datum (e.g. "Africa")
|
name | datum code name
|
area | area of datum (e.g. "Cameroon")
|
eps | ellipsoid specification (e.g. "CD")
|
dx | |
dy | |
dz | x,y,z differences from WGS84
|
ex | |
ey | |
ez | x,y,z maximum error in converted point (unused)
|
gdt_molo(proj, inv, dx, dy, dz, ain, fin, aout, fout)
proj | projection procedure (always gdt_molo_proj)
|
inv | invert myself (always gdt_molo_inv)
|
dx | |
dy | |
dz | x,y,z differences (output - input)
|
ain | |
fin | input ellipsoid specs
|
aout | |
fout | output ellipsoid specs
|
################ Standard Molodensky Datum Transformation ################## See NIMA TR 8350.2 ************************ WARNING ****************************************** NIMA TR 8350.2 contains Molodensky parameters to convert from an arbitrary datum to WGS84. To convert from datum A to datum B, I call molodensky(Ax-Bx,Ay-By,Az-Bz,Aa,Af,Ba,Bf) where Ax,Ay,Az are the shift to convert A to WGS84; Bx,By,Bz are the shift to convert B to WGS84; Aa,Af,Ba,Bf are the ellipsoid parameters. ************************ WARNING ****************************************** TODO: 1) Add special conversion for North and South pole 2) Add Multiple Regression Equations 3) Add special WGS72 to WGS84 conversion
proj | projection procedure
|
inv | invert myself
|
grids | list of gdt_nadcon_grid records to search
|
nadcon conversion record
gdt_nadcon_grid(name, offset, termLen, nc, nr, nz, xmin, xmax, dx, ymin, ymax, dy, angle)
name | name of file
|
offset | offset in file to start of grid data
|
termLen | number of chars in line termination (1 or 2)
|
nc | |
nr | |
nz | number of rows, columns in file (nz = ??)
|
xmin | |
xmax | |
dx | dimension of coverage
|
ymin | |
ymax | |
dy | |
angle | ??
|
information about a .loa and .laa file
tree | tree of data records
|
id | table of labeled nodes, indexed by @ID@
|
fam | list of FAM nodes
|
ind | list of INDI nodes
|
gednode(level, id, tag, data, lnum, parent, ref, sub, hcode)
level | level
|
id | ID (label), including @...@ delimiters
|
tag | tag
|
data | data
|
lnum | line number
|
parent | parent node in tree
|
ref | referenced node, if any
|
sub | sub-entry list
|
hcode | hashcode, if INDI node
|
name | |
threading | list of shaft numbers
|
treadling | list of treadle numbers
|
warp_colors | list of indexes into color_list
|
weft_colors | list of indexes into color_list
|
color_list | list of colors
|
shafts | number of shafts
|
treadles | number of treadles
|
width | image width
|
height | image height
|
tieup | tie-up matrix
|
liftplan | liftplan matrix
|
internal structure draft
specification database
message(from, subject, date, text)
Internal form for mail message
sender | E-Mail address of sender
|
dayofweek | |
month | |
day | |
time | |
year | selected message header fields
The following record fields hold the contents of common
message header fields. Each record field contains the
corresponding message field's body (as a string) or a null indicating
that no such field was present in the header.
Note that a list of message_record's
can be sorted on any of these fields using the sortff function.
The record field name is related to the message header field name
in the following way:
record_field_name := "_" ||
map(message_header_field_name, &ucase || "-", &lcase || "_")
Thus the "Mime-Version" field body is stored in the _mime_version
record field. Multiline message header fields are "unfolded"
into a single line according to RFC 822. The message field
name, the following colon, and any immediately following
whitespace are stripped from the beginning of the
record field. E.g., if a header contains
Mime-Version: 1.0
then
message._mime_version := "1.0"
The "Received:" field is handled differently from the other
fields since there are typically multiple occurrences of it
in the same header. The _received record field is either null or
contains a list of "Received:" fields. The message field names
are NOT stripped off. Thus
Received: from relay4.UU.NET by mail.netcom.com (8.6.12/Netcom)
id PAA10801; Sun, 28 May 1995 15:24:17 -0700
Received: from alterdial.UU.NET by relay4.UU.NET with SMTP
id QQyrsr05731; Sun, 28 May 1995 18:17:45 -0400
get stored as:
message._received :=
["Received: from relay4.UU.NET by mail.netcom.com (8.6.12/Netcom) id etc...",
"Received: from alterdial.UU.NET by relay4.UU.NET with SMTP id etc..."]
|
_return_path | |
_received | |
_date | |
_message_id | |
_x_sender | |
_x_mailer | |
_mime_version | |
_content_type | |
_to | |
_from | |
_subject | |
_status | |
_x_status | |
_path | |
_xref | |
_references | |
_errors_to | |
_x_lines | |
_x_vm_attributes | |
_reply_to | |
_newsgroups | |
_content_length | The "other" field gets all the message header fields for which we have not set up
a specific record field. The "other" record field either contains null
or a list of header fields not stored in the previous fields.
Message field names are NOT stripped off field bodies before being stored.
If there are multiple occurrences of the previously selected fields
(except _received which is assumed to occur multiple times), then
the first occurrence is stored in the appropriate record field from
the list above while subsequent occurences in the same header are
stored as separate list elements in the "other" record field.
E.g., the following header fields:
...
Whatever: Hello
Status: RO
Status: XX
Status: YY
...
would be stored as
message._status := "RO"
message.other :=
[..., "Whatever: Hello", "Status: XX", "Status: YY", ...]
|
other | The message text
This field is either null or a list of lines comprising
the message text.
|
message_text | The entire message - header and text
This field contains a list of uninterpreted lines (no RFC 822 unfolding)
comprising the raw message.
|
all |
components of "From " line
multiIndex(indexTerm, searchList)
A multiple word search record contains the index term to be used plus the search (which is a list of words, interspersed with the distance between them). so "Bill+Ben+3+Flowerpot" will result in searchList being ["Bill", 1, "Ben", 3, "Flowerpot"]
pack_template_rec(conversion, count)
paragraph(sourceText, lines, words, inProgress)
A paragraph record holds the remaining text of the whole file, together with a list of lines of the current paragraph and a map from each word to a list of occurrences in the paragraph. An occurrence is (line no, ordinal position) inProgress is a set of index terms that are being defined by \PrimaryIndexBegin{term} ... \PrimaryIndexEnd{term}. Normal index hits for term are suppressed in between the PrimaryIndexBegin ... End lines.
pbk_data(name, number, address)
HP 95LX Phone Book Data Record: Byte Offset Name Type Contents 0 RecordType char 1 (01h) 1 RecordLength int Number of bytes in remainder of this data record, see note below. 3 NameLength char Length of name text in bytes. 4 NumberLength char Length on number text in bytes. 5 AddressLength int Length of address text in bytes. 7 NameText ASCII Name text, 30 characters maximum. 7+NameLength NumberText ASCII Number text, 30 characters maximum. 7+NameLength+ NumberLength AddressText ASCII Address text where the null character is used as the line terminator. Addresses are limited to a maximum of 8 lines of 39 characters per line (not counting the line terminator).
pattern-form draft
posix_group(name, passwd, gid, members)
grent struct
posix_hostent(name, aliases, addresses)
hostent struct
returned by fcntl
a UDP datagram
posix_passwd(name, passwd, uid, gid, gecos, dir, shell)
pwent struct
posix_rusage(utime, stime, maxrss, minflt, majflt, inblock, oublock, nvcsw, nivcsw)
rusage struct
posix_servent(name, aliases, port, proto)
servent struct
stat struct
timeval struct
ss | substring to be scanned
|
offset |
length of substring preceding ss
specification database
start_state(b, e, tbl, master_list)
stats(edge_list, lhs_table, term_set)
tie-up database
termio_struct(vintr, vquit, verase, vkill)
traceRecord(fName, size, memAddr, alloAddr, freeAddr)
traceRecords are used within the process procedure to track the allocation/free cycles for memory requests.
xcode_rec(file, ioProc, done, nextTag)
Global variables: |