home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD2.mdf
/
c
/
interpre
/
proxy
/
h1.hlp
< prev
next >
Wrap
Text File
|
1993-04-04
|
3KB
|
59 lines
COMMANDS
There are two types of commands: system commands, and "desk calculator"
commands. There are four system commands: load (to load a Proxy file),
transcript (to store in a file a transcript of all subsequent keystrokes),
help (to obtain the syntax and functionality of different commands,
statements and composite data structures), and exit (to return to the
DOS prompt). Desk calculator commands are the expressions, assignments,
and definitions that can be typed at the Proxy prompt for immediate
evaluation and execution.
The simplest desk calculator command is an expression to be evaluated, i.e.
2+2. Note that every command must be terminated with a semi-colon. There
are four types of expressions: integer, real, string, and boolean. Real
literals are written in decimal form, i.e., 3.14159; there must be at least
one digit before the decimal point. Boolean literals are written true, false,
and strings are written with double quotes, i.e. "This is a string".
Slightly more complicated expressions involve identifiers (variables).
All identifiers must start with a letter. The rest of the identifier may
consist of letters, underscores, or digits. Identifiers are not case
sensitive, i.e. aBcD is considered to be the same identifier as abcd.
The standard arithmetic, relational and Boolean operators are supported
with their relative precedence given by the following table:
! - (unary minus) highest
* / % && |
+ - || v
== != < > <= >= lowest
where ! represents logical negation, % is the modulo operator, && is logical
conjunction, || is logical disjunction, == represents equal, and !=
represents not equal.
A list of the commands and simple examples of their use is given below.
Type of Command Example
load command load "topsort.prx";
transcript command transcript "session.txt";
help command help;
exit command exit;
expression x + 3 ;
function definition fun(y) {return y + 1;};
assignment y = 17 ;
struct declaration struct empl {age, citizen;};
struct instantiation p = new empl(25, true);
struct component update p.age = 26;
map update table[3] = 4;
class definition class stack(;rep) {
stack() {rep = [];}
push(x) {rep = [x] conc rep;}
top() {return hd rep;}
pop() {rep = tl rep;}
empty() {return rep == [];}};
class instantiation s = new stack();