vipsi - the friendly vip script interpreter

Appendix

Glossary

Variable, var_ref

A reference to a Glossary: Variable, var_refvariable. List functions: thisThis is required for Operators: Assignment "="
Built-in operators: Assignments:
assignments
. In Flow control: if … then
Flow control: try … then
the
following example a is passed as a reference to Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
=, so that it can store data in it.

a = 77

Frequently an Vipsi command syntax: Expressions
Glossary: Expression
expression
Flow control: returnreturns Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
only a 'simple Glossary: Valuevalue', but a reference to a Glossary: Variable, var_refvariable, which contains Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Expressions
Glossary: Expression
expressions
result. List functions: thisThis is done whenever it is possible. You won't notice Flow control: if … then
Flow control: try … then
the
difference unless you maliciously modify Flow control: if … then
Flow control: try … then
the
referenced Glossary: Variable, var_refvariable before it is passed to who ever needed Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
unless you want to store data in it, as Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
= Flow control: do … loopdoes.

Flow control: if … then
Flow control: if … then
If the
term <variable> Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
<var_ref> is used to declare an Vipsi command syntax: Arguments
Glossary: Arguments
argument
type for a Vipsi command syntax: Functions
Functions
Glossary: Function
function
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Flow control: if … then
Flow control: try … then
the
like, Flow control: if … then
Flow control: try … then
then
List functions: thisthis means, that Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Functions
Functions
Glossary: Function
function
Instructions: requirerequires a Glossary: Valuevalue which must be a Glossary: Variable, var_refvariable reference.

Flow control: if … then
Flow control: if … then
If the
term <variable> Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
<var_ref> is used to declare an result type of a Vipsi command syntax: Functions
Functions
Glossary: Function
function
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Flow control: if … then
Flow control: try … then
the
like, Flow control: if … then
Flow control: try … then
then
List functions: thisthis means, that Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Functions
Functions
Glossary: Function
function
Flow control: returnreturns a Glossary: Valuevalue which is always a Glossary: Variable, var_refvariable reference.

num_ref, num_var

A reference to a Glossary: Variable, var_refvariable which contains numeric data. List functions: thisThis is required for Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
+= Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Flow control: if … then
Flow control: try … then
the
like. In Flow control: if … then
Flow control: try … then
the
following example a is passed by reference to Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
+=, so that this Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
can store data in a.

a += 77

text_ref, text_var

A reference to a Glossary: Variable, var_refvariable which contains Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
data. List functions: thisThis is required for Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
#= Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Flow control: if … then
Flow control: try … then
the
like. In Flow control: if … then
Flow control: try … then
the
following example a is passed by reference to Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
#=, so that List functions: thisthis Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
can store data in a.

a #= "bruckner"

list_ref, list_var

A reference to a Glossary: Variable, var_refvariable which contains a Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
. List functions: thisThis is required for Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
##=. In Flow control: if … then
Flow control: try … then
the
following example a is passed by reference to Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
##=, so that List functions: thisthis Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
can store data in a.

a ##= { 77, 33 }

Value

A Glossary: Valuevalue of any kind. Currently List functions: thisthis may be a Glossary: number, num_valnumber, a Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
, a Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
a Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
procedure
. Vipsi command syntax: Operators
Operators
Glossary: Operator
Operators
, Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instructions
, Vipsi command syntax: Functions
Functions
Glossary: Function
functions
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
self-defined Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
procedures
Instructions: requirerequire Glossary: Valuevalues as Vipsi command syntax: Arguments
Glossary: Arguments
arguments
. Only some of The Built-in Wordsthe built-in words Instructions: requirerequire Flow control: if … then
Flow control: try … then
the
Glossary: Valuevalue also to be a reference to a Glossary: Variable, var_refvariable, a <var_ref>.

Vipsi command syntax: Expressions
Glossary: Expression
Expressions
yield a Glossary: Valuevalue as result, which sometimes may also be a Glossary: Variable, var_refvariable reference.

e.g.:

a + 33
"anton"#" ist doof."
"anton"
a           // Flow control: returnreturns a reference to a

Flow control: if … then
Flow control: if … then
If the
term <value> is used to declare an Vipsi command syntax: Arguments
Glossary: Arguments
argument
type for a Vipsi command syntax: Functions
Functions
Glossary: Function
function
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Flow control: if … then
Flow control: try … then
the
like, Flow control: if … then
Flow control: try … then
then
List functions: thisthis means, that Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Functions
Functions
Glossary: Function
function
Instructions: requirerequires a Glossary: Valuevalue, which may also be a Glossary: Variable, var_refvariable reference.

Flow control: if … then
Flow control: if … then
If the
term <value> is used to declare an result type of a Vipsi command syntax: Functions
Functions
Glossary: Function
function
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Flow control: if … then
Flow control: try … then
the
like, Flow control: if … then
Flow control: try … then
then
List functions: thisthis means, that Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Functions
Functions
Glossary: Function
function
Flow control: returnreturns a Glossary: Valuevalue, which may also be a Glossary: Variable, var_refvariable reference in some cases.

number, num_val

A numeric Glossary: Valuevalue. Functions: Numeric functionsNumeric functions Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
numeric Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
Flow control: returnreturn a numeric Glossary: Valuevalue. e.g.:

33+4
Numeric functions: sinsin(Constants: pipi/3)

text, text_val

A Glossary: text, text_valtext value. Functions: Text functionsString functions Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Data Types: Text
Text functions: string
string
Select "? :": Concatenationconcatenation Flow control: returnreturn a Glossary: text, text_valtext value. e.g.

Text functions: leftstrleftstr("ssssssssssssss",3)
"anton" # " " # "bruckner"

list, list_val

A Glossary: list, list_vallist value. Type casting: List concatenationList concatenation Flow control: returnreturn a Glossary: list, list_vallist value. e.g.

{ 1, 2, 3, 4 } ## { 5 }

Name, Identifier

Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
Names
are required to identify Glossary: Variable, var_refvariables. In List functions: thisthis sense they Flow control: do … loopdo Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
refer to vipsi - the friendly one.: The namethe names of built-in List functions: words
Shell Immediate Commands: words
words
. Whenever a Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
is encountered where a Glossary: Valuevalue is expected, vipsi - the friendly one.: The namethe name is taken as a Glossary: Variable, var_refvariable's Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Flow control: if … then
Flow control: try … then
the
Glossary: Variable, var_refvariable is looked up, yielding a reference to that Glossary: Variable, var_refvariable.

Example:

Instructions: putput a       // 'a' is taken as a Glossary: Variable, var_refvariable's Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
// Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
that Glossary: Variable, var_refvariable is printed a = 77 // 'a' is taken as a Glossary: Variable, var_refvariable's Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
// Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
a reference to that Glossary: Variable, var_refvariable // is passed to Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
'='

Some Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instructions
, Vipsi command syntax: Functions
Functions
Glossary: Function
functions
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
explicitly Instructions: requirerequire a Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
as one of their Vipsi command syntax: Arguments
Glossary: Arguments
arguments
. Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
Names
can also be calculated, using Flow control: if … then
Flow control: try … then
the
@ prefix Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
, which Flow control: returnreturns none of Flow control: if … then
Flow control: try … then
the
known 4 Data Types
Invariants: Data types
data types
but a Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
.

Examples:

mylist.foo              // Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
'.' Instructions: requirerequires a Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
a Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
Text functions: convert
Instructions: convert
convert
mytext to html // special syntax, 'html' is a Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
Instructions: var
How does VScript::Value() work?: Var*&
var
a="foo" Instructions: putput mylist.@a // Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
'@' supplies vipsi - the friendly one.: The namethe name to '.'

Statement

Every program is made out of a sequence of Vipsi command syntax: Statements
Glossary: Statement
statements
simply appended one after Flow control: if … then
Flow control: try … then
the
other. Vipsi command syntax: Statements
Glossary: Statement
Statements
start with an Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
, which is a built-in List functions: words
Shell Immediate Commands: words
word
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
procedure
which Flow control: do … loopdoes Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
Flow control: returnreturn a result Glossary: Valuevalue (Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
which is ignored) Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
are frequently followed by Vipsi command syntax: Arguments
Glossary: Arguments
arguments
, which are Vipsi command syntax: Expressions
Glossary: Expression
expressions
. Multiple Vipsi command syntax: Arguments
Glossary: Arguments
arguments
are separated by Separators: Comma ","commas.

Vipsi command syntax: Statements
Glossary: Statement
Statements
may also be Vipsi command syntax: Expressions
Glossary: Expression
expressions
, that is, they may Flow control: returnreturn a result Glossary: Valuevalue which is simply ignored. Only Flow control: if … then
Flow control: try … then
the
vipsi shell prints result Glossary: Valuevalues for your convenience, Flow control: if … thenif they don't result from an Operators: Assignment "="
Built-in operators: Assignments:
assignment
.

i=0 Flow control: do … loopdo Flow control: if … thenif i==1 Instructions: putput "i=1",Constants: nlnl Flow control: exit
Shell Immediate Commands: exit, quit, end
exit
Flow control: if … then
Flow control: try … then
else
i++ Instructions: putput "*" Flow control: if … then
Flow control: try … then
then
Flow control: do … looploop

List functions: thisthis breaks up into Flow control: if … then
Flow control: try … then
the
following Vipsi command syntax: Statements
Glossary: Statement
statements
:

i=0             Vipsi command syntax: Expressions
Glossary: Expression
expression
, Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
"=" Flow control: returnreturns a result Flow control: do … loopdo Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
, no Vipsi command syntax: Arguments
Glossary: Arguments
arguments
Flow control: if … thenif i==1 Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
, 1 Vipsi command syntax: Arguments
Glossary: Arguments
argument
Instructions: putput "i=1",Constants: nlnl Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
, 2 Vipsi command syntax: Arguments
Glossary: Arguments
arguments
Flow control: exit
Shell Immediate Commands: exit, quit, end
exit
Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
, no Vipsi command syntax: Arguments
Glossary: Arguments
argument
Flow control: if … then
Flow control: try … then
else
Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
, no Vipsi command syntax: Arguments
Glossary: Arguments
argument
i++ Vipsi command syntax: Expressions
Glossary: Expression
expression
, Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
"++" Flow control: returnreturns a result Instructions: putput "*" Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
, 1 Vipsi command syntax: Arguments
Glossary: Arguments
argument
Flow control: if … then
Flow control: try … then
then
Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
, no Vipsi command syntax: Arguments
Glossary: Arguments
arguments
Flow control: do … looploop Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
, no Vipsi command syntax: Arguments
Glossary: Arguments
arguments

All these are Vipsi command syntax: Statements
Glossary: Statement
statements
.

Arguments

Most Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instructions
, Vipsi command syntax: Functions
Functions
Glossary: Function
functions
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
procedures
Instructions: requirerequire some Instructions: sortsort of Vipsi command syntax: Arguments
Glossary: Arguments
arguments
, which must be passed to Flow control: if … then
Flow control: try … then
them
when they are executed. Some Instructions: requirerequire no, some one, some multiple Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
some even accept a varying ammount of Vipsi command syntax: Arguments
Glossary: Arguments
arguments
. Each Vipsi command syntax: Arguments
Glossary: Arguments
argument
is made out of one Vipsi command syntax: Expressions
Glossary: Expression
expression
, which yields a Glossary: Valuevalue as result which in Flow control: returnreturn is passed as Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
to Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Functions
Functions
Glossary: Function
function
. Multiple Vipsi command syntax: Arguments
Glossary: Arguments
arguments
are separated with Separators: Comma ","commas.

e.g.:

Instructions: putput Numeric functions: sinsin(2*Constants: pipi)

Flow control: if … then
Flow control: try … then
The
Vipsi command syntax: Expressions
Glossary: Expression
expression
'2*Constants: pipi' is taken as an Vipsi command syntax: Arguments
Glossary: Arguments
argument
for Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Functions
Functions
Glossary: Function
function
'Numeric functions: sinsin', which itself Flow control: returnreturns a Glossary: Valuevalue.

Flow control: if … then
Flow control: try … then
The
Vipsi command syntax: Expressions
Glossary: Expression
expression
'Numeric functions: sinsin(2*Constants: pipi)' is taken as an Vipsi command syntax: Arguments
Glossary: Arguments
argument
for Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
'Instructions: putput' which Flow control: do … loopdoes Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
Flow control: returnreturn a result. That's why it is an Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
.

Expression

Vipsi command syntax: Expressions
Glossary: Expression
Expressions
are in Flow control: if … then
Flow control: try … then
the
simplest case Glossary: Valuevalues. These may be Constants
Glossary: Constant
constants
, Vipsi command syntax: Literals
Glossary: Literal
literals
, Vipsi command syntax: Functions
Functions
Glossary: Function
function
Functions with varying return types: call
Instructions: call
calls
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
procedure
Functions with varying return types: call
Instructions: call
calls
. More mocked-up Vipsi command syntax: Expressions
Glossary: Expression
expressions
are Vipsi command syntax: Expressions
Glossary: Expression
expressions
linked by Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
. Most (all?) Vipsi command syntax: Expressions
Glossary: Expression
expressions
Flow control: returnreturn a result Glossary: Valuevalue, which also may be a Glossary: Variable, var_refvariable reference.

Examples:

12345
"multimixmode"
Numeric functions: sinsin(22)
Foo(2,3/i)
123 + 456 / 789
myList[33]
+(33-a)

Literal

Flow control: if … thenIf a Glossary: Valuevalue is written verbatim in a program, Flow control: if … then
Flow control: try … then
then
List functions: thisthis is called a Vipsi command syntax: Literals
Glossary: Literal
literal
. Flow control: if … then
Flow control: try … then
The
vip Example Scripts: CGI Scripts
Example Scripts: Scripts
script
language knows about 4 Data Types
Invariants: Data types
data types
, Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
so there are 4 kinds of Vipsi command syntax: Literals
Glossary: Literal
literals
:

All Vipsi command syntax: Literals
Glossary: Literal
literals
a similar to Constants
Glossary: Constant
constants
. Constants
Glossary: Constant
Constants
may be considered as named Vipsi command syntax: Literals
Glossary: Literal
literals
. As Constants
Glossary: Constant
constants
, Vipsi command syntax: Literals
Glossary: Literal
literals
Flow control: returnreturn a Glossary: Valuevalue of their respective type, which obviously is Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
a ref_var, a reference to a Glossary: Variable, var_refvariable.

Instruction

Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
Instructions
are built-in List functions: words
Shell Immediate Commands: words
words
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
user-defined Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
procedures
, which Flow control: returnreturn no result Glossary: Valuevalue. For that reason they can't be part of an Vipsi command syntax: Expressions
Glossary: Expression
expression
. Therefore they can only occur as first List functions: words
Shell Immediate Commands: words
word
in a Vipsi command syntax: Statements
Glossary: Statement
statement
. Most Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instructions
Instructions: requirerequire Vipsi command syntax: Arguments
Glossary: Arguments
arguments
, which are made out of Vipsi command syntax: Expressions
Glossary: Expression
expressions
, which in Flow control: returnreturn are made out of Glossary: Valuevalues Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
maybe Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

Function

In Flow control: if … then
Flow control: try … then
the
terms of Flow control: if … then
Flow control: try … then
the
vip Example Scripts: CGI Scripts
Example Scripts: Scripts
script
language, Vipsi command syntax: Functions
Functions
Glossary: Function
functions
are built-in List functions: words
Shell Immediate Commands: words
words
, which Flow control: returnreturn a result Glossary: Valuevalue.

e.g.:

Instructions: putput Numeric functions: sinsin(2)
Instructions: putput Numeric functions: log2log2(16)
Instructions: putput Numeric functions: sqrtsqrt 100
Instructions: putput List functions: env
Shell Immediate Commands: env
Shell Immediate Commands: env
env
Instructions: putput Numeric functions: minmin(2,3)

Flow control: if … thenIf a Vipsi command syntax: Functions
Functions
Glossary: Function
function
takes no Vipsi command syntax: Arguments
Glossary: Arguments
arguments
, Flow control: if … then
Flow control: try … then
then
it must Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
be called with Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
.
Flow control: if … thenIf a Vipsi command syntax: Functions
Functions
Glossary: Function
function
takes exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
then
it may be called with Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
without Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
.
Flow control: if … thenIf called without Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Functions
Functions
Glossary: Function
function
has very high binding to it's Vipsi command syntax: Arguments
Glossary: Arguments
argument
, like a prefix Add "+": Monadic operator "+"
Subtract "-": Monadic operator "-"
Built-in operators: monadic operators:
monadic operator
, so that most Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
will fall out of Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
.
Flow control: if … thenIf a Vipsi command syntax: Functions
Functions
Glossary: Function
function
takes 2 Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
more Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
a varying amount of Vipsi command syntax: Arguments
Glossary: Arguments
arguments
, Flow control: if … then
Flow control: try … then
then
it must be called with Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
.

Procedure

In Flow control: if … then
Flow control: try … then
the
terms of Flow control: if … then
Flow control: try … then
the
vip Example Scripts: CGI Scripts
Example Scripts: Scripts
script
language, Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
procedures
are Flow control: if … then
Flow control: try … then
the
user defined Vipsi command syntax: Functions
Functions
Glossary: Function
functions
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instructions
. Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
Procedures
are one of Flow control: if … then
Flow control: try … then
the
4 Glossary: Variable, var_refvariable types.

Typical definition:

Instructions: procproc Anton(a) { Flow control: returnreturn a*a }
Instructions: var
How does VScript::Value() work?: Var*&
var
Berta = Instructions: procproc(a,b) { Instructions: putput a,b }

Typical invocation:

Instructions: putput Anton(33)
Berta(1,2)

Operator

Vipsi command syntax: Operators
Operators
Glossary: Operator
Operators
are, with rare exceptions, named with special characters to make Flow control: if … then
Flow control: try … then
them
self-separating from Flow control: if … then
Flow control: try … then
the
surrounding Glossary: Valuevalues. Vipsi command syntax: Operators
Operators
Glossary: Operator
Operators
combine Flow control: if … then
Flow control: try … then
the
left- Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
right-side Vipsi command syntax: Expressions
Glossary: Expression
expressions
to another, larger Vipsi command syntax: Expressions
Glossary: Expression
expression
.

e.g.:

123 + 345 * 567

'123', '345' Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
'567' are numeric Glossary: Valuevalues Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
therefore also Vipsi command syntax: Expressions
Glossary: Expression
expressions
- Flow control: if … then
Flow control: try … then
the
simplest possible ones.
Vipsi command syntax: Operators
Operators
Glossary: Operator
Operator
* combines '345' Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
'567' to a larger Vipsi command syntax: Expressions
Glossary: Expression
expression
: '345 * 567'.
Vipsi command syntax: Operators
Operators
Glossary: Operator
Operator
+ combines '123' Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
'345 * 567' to Flow control: if … then
Flow control: try … then
the
final Vipsi command syntax: Expressions
Glossary: Expression
expression
: '123 + 345 * 567'.

There are also Add "+": Monadic operator "+"
Subtract "-": Monadic operator "-"
Built-in operators: monadic operators:
monadic operators
, which only take one Vipsi command syntax: Arguments
Glossary: Arguments
argument
. Preceding Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
prefix Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
stand before their Vipsi command syntax: Arguments
Glossary: Arguments
argument
Flow control: whilewhile postfix Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
stand thereafter.

Prefix Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
:

+ - ++ --

Postfix Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
:

++ -- () []

Last Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
least there is one Operators: Select "? :"triadic operator: Flow control: if … then
Flow control: try … then
The
Operators: Select "? :"selection operator ? .. : which consists of two tokens which separate it's three Vipsi command syntax: Arguments
Glossary: Arguments
arguments
.

Operand

Vipsi command syntax: Arguments
Glossary: Arguments
Arguments
to Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
are called Glossary: Operator
Glossary: Operand
operands
.

Constant

Flow control: if … then
Flow control: try … then
The
vip Example Scripts: CGI Scripts
Example Scripts: Scripts
script
language defines some few Constants
Glossary: Constant
constants
. These are Constants: pipi, Constants: ecec (Euler's Constants
Glossary: Constant
constant
), Constants: stdinstdin, Constants: stdoutstdout Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Constants: stderrstderr, Flow control: if … then
Flow control: try … then
the
Data Types: Numbersnumbers of Flow control: if … then
Flow control: try … then
the
standard streams. (version 0.8.7) All these Constants
Glossary: Constant
constants
Flow control: returnreturn a numeric Glossary: Valuevalue, Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Glossary: number, num_valnum_val.

Valid HTML   Valid CSS