Glossary

 

A B C D E F
G H I J K L
M N O P Q R
S T U V W X
Y Z        

A

ANSI

american institute that establishes industrial standards allowing interoperability between systems and devices of different brands

array

data structure in which items can be inserted and extracted in any order; arrays can be sorted and searched in several ways

ASCII

American Standard Code for Information Interchange; it is the encoding used by the largest number of modern computers; originally, it mapped the alphabet (a-z, A-Z), the digits 0-9, puctuation symbols and a few control characters to the numbers 0-127; today, the extended ASCII encoding (mapping characters to numbers from 0 to 255) is very common; the characters beyond 127 are mapped to symbols specific to several european languages and semi-graphical characters, but their representation varies from system to system

B

base

number system; in Proteus, numbers can be specified in different bases: 10, 8 (if they begin with 0) or 16 (if they begin with 0x)

Base 64

is the most widespread encoding system, used to send information through electronic mail (standard MIME); every three characters from the extended ASCII set are encoded to four ASCII characters taken from the following alphabet:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

The additional character '=' is used to "pair" the last line, if the size of the encoded data is not a multiple of 3. The Base 64 system (or Radix 64) is more efficient than UU-encoding because does not store line length and allows lines of arbitrary lengths; the working principle is analogous to that of UU-encoding - an accumulator and a shift register are added to store the bits remaining from the previous line. The typical data line length is 45 bytes, which expands to 60 characters; the encoded block is preceded by two lines:

Content-Type: text/plain; charset=US-ASCII; name="filename"
Content-transfer-encoding: base64

where "filename" is the name of the file to be recreated; the set of characters (charset) can also be different, but usually is the one specified. The end of the block is automatically determined and does not require a specific label. The Base 64 encoding can be extended to include integrity checks and multiple segments (to overcome limitations on the length of message). Other encoding systems are UU-encoding and BinHex

binary search

search algorithm to be used on sorted data sets; it allows to find an item or determine if it belongs to the set at most with log2 (n) comparisons, where n is the number of items in the set; the algorithm, at every step, halves the number of items in which the key must be searched

BinHex

encoding system used to send information through electronic mail (widespread in the Macintosh™ world); every three characters from the extended ASCII set are encoded to four ASCII characters taken from the following alphabet:

!"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr

The additional character ':' is used to specify the start and the end of the encoding. The alphabet was chosen to minimize errors during transmission. This encoding system includes a simple compression scheme (Run Length Encoding, similar to TIFF) and additional, Mac-related information, together with a CRC. BinHex is common only between Macintosh™ users and is considered overcome by the MIME standard. Other encoding systems are Base 64 and UU-encoding

bit map

data structure holding the logical values (true or false) of many items in very little memory; it is similar to an array, but every item can be only 0 or 1; in Proteus, it is one of the structures whose items are accessed by using a handle

C

CGI

CGI stands for "Common Gateway Interface"; it is a specification that allows a HTTP server (like httpd by NCSA or Communications Server by Netscape) to run programs that return dynamic contents.

CGI programming is used every time you need an input from the user or the information returned is not static. A few examples can be search engines, counters or stock inventory.

CGI programs can be written in any programming language supported by the system running the HTTP server; the only restriction is the possibility to read from standard input, write to standard output and access environment variables set by the server. The languages typically used to write CGI programs are Perl™, TCL™, the Unix™ shell and C. Obviously, Proteus is an excellent choice for this purpose.
The choice of the language depends on many parameters, like program complexity (how much system resources are needed to execute it) and how frequently the program is run. Under normal conditions, every language mentioned can be used; for greatest efficiency, the best choice are compiled languages like C.

C-like, constants

escape sequences and single characters specified through sequences of 2-4 characters, in which the first is always '\'

constant

literal value; can appear in the same places where an expression is allowed; a numeric constant always begins with a digit or a sign (+/-); a constant string is always enclosed in "double quotes"; all constants retain the same value during program execution and can not be modified

cyclic redundancy check

often abbreviated as CRC; it is a function that, when applied to a stream of binary data, returns very different values even if only one byte in the sequence is changed; it is widely used to detect transmission errors, in cryptography and hash algorithms; there are several functions and tables used for calculating CRCs - a few of them are standardized by ANSI

D

data structure

collection of values whose items are organized in a precise way

date

in Proteus, any string consisting of three numbers separated by the characters : "/-."; the date is interpreted according to the value of the predefined identifier DATE_TYPE

divide et impera

aka "divide & conquer"; it is a top-down programming technique consisting of two phases, which are repeated several times until the problem is solved; in the first phase, the initial problem is divided into smaller problems, which are solved separately; in the second phase, the results determined during the first phase are collected together to give a solution to the initial problem

E

e-mail

aka electronic mail; electronic document, properly formatted according to several protocols, that is sent using Internet; since electronic mail was developed before that binary attachments were needed, many systems used for exchanging e-mail messages require them to be in pure ASCII (not extended) and that no characters below 32 (blank) are used; to allow the transmission of any kind of file, the MIME standard was introduced, together with several encoding models, like UU-encoding (Unix™), BinHex (Macintosh™) and Base 64 (many other systems)

environment, variable

environment variables are used to control the behaviour of several programs, including batch programs and the command shell; they are a list of associations (name, string) which are set and retrieved in different ways according to the shell being used (consult the shell help for additional information)

epoch

numeric value of the predefined identifier EPOCH; it allows to correctly evaluate short dates (using only two digits for the year)

escape, sequences

sequences of two characters (the first of which is always '\'), interpreted as a single, special character; they are used when specifying string constants

expression

constant (number or string), function call or identifier

F

false

one of the values returned by logical functions; in Proteus, false = 0

format, text

interpretation of end-of-line; Proteus can read and write Dos, Macintosh™ and Dos text files; under Dos/Windows™ the end-of-line is represented by CHR(13) + CHR(10) ("\r\n"); under Unix™, the end-of-line is "\n" while under Macintosh™ it is "\r"

forms

HTML (HyperText Markup Language) includes several tags for data input, which can be used to create forms; the available tags allow free text input, check boxes, dropdown lists, etc.. Forms can be used to collect data from the users or to return dynamic contents

function

procedure which takes one or more input parameters and return a single result; in Proteus, there are library (i.e. predefined) or user defined functions

H

handle

non-negative numeric value; in Proteus, it represents an index used to access data structures created in memory, like stacks, queues, arrays and others

hashing

search method in which every key being searched is transformed into a numeric value, which is then used to determine a starting point for the search, which greatly decreases the time taken to find the item

HTML

HyperText Markup Language - the language used to publish documents on the Internet; HTML includes several tags to determine text appearance, images size and alignment, to insert tables and forms, and to create documents consisting in several parts which can be separetely navigated (frames). Every HTML page includes additional informations on the character set used for the encoding and can have several hyperlinks, which are hot spots to reach other resources on the Internet

I

identifier

case-unsensitive character sequence of any length, which can not include spaces, tabs, single or double quotes and can not start with a digit (0-9), a sign (+/-) or the character '@'; an identifier is said "predefined" if it exists before being mentioned in the script; an example is the identifier L

isapi

Microsoft® Internet Information Server™ extension that allows to process and return information using HTTP protocol; the mechanism is similar to CGI scripts under Unix™ web servers

L

label

a Proteus label is a case-sensitive string of alphanumeric characters, that can be defined or undefined by using the directives !define and !undef or the command line parameters -n and -u; labels allow to conditionally pseudo-compile to memory only specific part of your program, for example to write multi-language or platform-independent scripts; a few pre-defined labels are MS_DOS, UNIX, WINDOWS

library

collection of functions; "library functions" are those belonging to the core of Proteus (predefined); the user can create his own libraries of functions (UDF), which can be re-used by including their definition at the beginning of every script (see !include directive)

M

mapping (on ASCII alphabet)

set of transformations from ASCII characters to other ASCII characters; more than one character can be mapped to the same character, so the mapping is not necessarily reversable

method

procedure not returning any value or control structure, that determines which instructions are to be executed according to the value of a condition

MIME

MIME stands for Multi-purpose Internet Mail Extensions. MIME is an Internet standard for transmitting data of any kind using electronic mail; it defines how messages are to be created and formatted, including headers to specify the type of the message and its encoding. In most cases, a MIME message can be read correctly on any system where a MIME-compatible client exists.

The MIME standard is detailed in the document "Internet Standards RFC1521".

N

number

Proteus allows to work with integer and floating point numbers; an integer number does not have a fractional part, while a floating point number could. A floating point number is the approximation used by a computer to represent a real number. Integer number in Proteus can be specified using different bases

O

operator

an operator is a symbol which represents a function; it can take one (unary) or two (binary) parameters; Proteus is completely functional, so it does not have any operator; in this way, parenthesis are not necessary

P

processor, text

program to manipulate text files; it allows to transform files or extract information from them

Proteus

character belonging to Greek mythology, whose transformations inspired the name of this language

Q

queue

data structure in which items are inserted always at the beginning and extracted always from the end; in a queue, the order of extraction is called "FIFO" (first in-first out: the items are extracted in the same order they were inserted)

R

recursion

programming technique where a function calls itself; it is often used to describe mathematical functions or problems that can be solved by using a few elementary operations and calling again the same function on smaller data

regular expression

string where a few characters are interpreted literally, while others are control characters with a special meaning; mainly used to determine if other strings have a specific format

remark

free text added by the user and ignored by the interpreter; in Proteus, all lines beginning with the characters ';' or '#' (optionally preceded by any number of tabs/spaces) are considered remarks

S

set

data structure in which every item, besides its value, has a label which can be used to search the item and determine if it belongs to the set; there is no relative or absolute order in a set

side-effect

a side-effect happens when a variable changes its value because of function calls on other variables; all assignments using PSET that appear inside user defined functions can be considered side-effects

stack

data structure where all items are inserted and removed from the same side; in a stack, the items are extracted in LIFO order (last in-first out: the last item introduced is the first extracted, so the order of extraction is exactly the opposite of the insertion order)

string

sequence of characters; a string constant is always enclosed in "double quotes" and can include C-like constants; the length of a string is the length of the interpretation, not the number of characters inside the double quotes; in Proteus, strings can include NULL characters (ASCII 0)

T

text, file

file containing readable data, with the exception of end-of-lines and tabs

TIFF

lossless compression scheme, useful for encoding strings with many repeated bytes

time

in Proteus, a string of three numbers separated by the character ':' and followed by a space or by the characters 'a'/'p'; the interpretation is determined by the value of the predefined identifier TIME_TYPE

token

sequence of characters inside a string, delimited by one or more characters belonging to a list

true

one of the values returned by logical functions; in Proteus, true = not 0

U

UDF

User Defined Function; two special UDF are ONSTART and ONEND

URL-encoding

encoding system used to send data collected in forms to CGI scripts; data are sent as couples of values separated by '&', where the label (first item) and the value (second item) are separated by the character '='; to avoid misunderstanding and to transmit strings including characters from the full ASCII set, every character above 126 and below 32 (besides $, &, =, +, ", \, ', ;, /, #, : and ?) is encoded as three characters: a symbol '%' followed by two hexadecimal digits, corresponding to the character to be encoded. The exception to this rule is space, that being an ambiguous character which is very frequent is transformed into '+'

UU-encoding

encoding system used to send information by electronic mail, originally conceived to be used among Unix™ machines (UU stands for "Unix to Unix") and subsequently ported to other platforms; every three characters in the extended ASCII set are written as four bytes from an alphabet which goes from ASCII 33 to ASCII 96. If a, b and c are the three bytes to be encoded, this method stores into a1, b1 and c1 six bits from eight of each character and, in the fourth character d, the remaining six bits; if n is the size of the original file, the encoded file would be (n / 3 * 4) bytes long; actually, an UU-encoded file includes additional information to allow rebuilding the original file; the first character of each line establishes the length of the line (when decoded), because if the size of the original file is not divisible by three, up to two additional dummy bytes must be added (they are ignored during decoding); typically, every encoded line contains 61 characters (length + 60 characters), which represent 45 bytes, and the block is preceded by a text line:

begin [rights] filename

where [rights] represents the access rights for the file recreated (644, usually) and "filename" its original name. The last line in the encoding contains a single character (ASCII 96, indicating zero length) and is followed by the label:

end

Many encoders include additional information, like integrity checks using CRC, and allow to split the encoded message into chunks of about 950 lines, to overcome limitations imposed by vintage mail exchange systems, which limited the size of electronic mail messages. Other encoding systems are Base 64 (used in the MIME standard) and BinHex

V

variable

memory structure that allows to hold an integer/floating point number or a string; public variables keep their values during program execution, while local variables (appearing inside UDF) are reset at every function call; you can assign values using SET and retrieve the current value by referencing the associated identifier; to change the value of public variables inside user defined functions, use PSET; to retrieve their values (in the same case) use the function PUB

version

Proteus can be compiled in different languages and on different platforms; a few library functions are available only on specific versions of the interpreter

Start of page Next topic Previous topic Contents Index
Midnight Lake iPhone Case Black Women Shoes Black Flat Shoes Leather Flats Black Patent Ballerinas Black Ballet Shoes Casual Shoes Black Shoes Women Balle Record Player Cufflinks Best iPhone XR Clear Cases iPhone XS/XS Max Leather Cases Sale Best iPhone 8/8 Plus Silicone Cases iPhone 7/7 Plus Cases & Screen Protector New Cases For iPhone 6/6 Plus iPhone 8 Case Sale iPhone Xr Case Online iPhone 7 Case UK Online iPhone X Case UK Sale iPhone X Case Deals iPhone Xs Case New Case For iPhone Xr UK Online Case For iPhone 8 UK Outlet Fashion Silver Cufflinks For Men Best Mens Cufflinks Outlet Online The Gold Cufflinks Shop Online Cheap Shirt Cufflinks On Sale Nice Wedding Cufflinks UK Online Top Black Cufflinks UK Online Mens Cufflinks Online Silver Cufflinks For Men Men Cufflinks UK Sale Gold Cufflinks UK Online Gold Cufflinks UK Silver Cufflinks UK Shirt Cufflinks Discount Online Mens Cufflinks Deals & Sales Girls Shoes For Dance Fashion Ballet Dance Shoes Best Ballet Flats Shoes UK Online Cheap Ballet Pointe Shoes UK Online Best Ballet Shoes Outlet Best Dance Shoes Sale Cheap Ballet Flats Sale UK Best Pointe Shoes Online UK Ballet Dance Shoes UK Shoes For Dance UK Best Ballet Slippers Shop Best Yoga Shoes Hotsell