vipsi - the friendly vip script interpreter

Instructions

Local scope "{}"

{ <statements> }

Define a range of Vipsi command syntax: Statements
Glossary: Statement
statements
with private Glossary: Variable, var_refvariable scope.

Flow control: if … then
Flow control: try … then
The
Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
{ starts a range of Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instructions
with a List functions: localslocal Glossary: Variable, var_refvariable scope. All Glossary: Variable, var_refvariables defined within List functions: thisthis scope are deleted when Flow control: if … then
Flow control: try … then
the
scope is left Operators: Make Identifier "@"at }. Glossary: Variable, var_refVariables with Flow control: if … then
Flow control: try … then
the
same Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
as existing Glossary: Variable, var_refvariables outside Flow control: if … then
Flow control: try … then
the
scope can be defined within List functions: thisthis scope Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
will be used instead of those outside. Flow control: if … then
Flow control: try … then
The
private Glossary: Variable, var_refvariables are stored in a Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
liste
named privates which is also accessible by Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
.

In Flow control: if … then
Flow control: try … then
the
following example all Vipsi command syntax: Statements
Glossary: Statement
statements
are embraced by curly quotes to prevent that Glossary: Variable, var_refvariables defined here accidently overwrite List functions: globals
Shell Immediate Commands: globals
global
Glossary: Variable, var_refvariables of Flow control: if … then
Flow control: try … then
the
same 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
i=0 Flow control: do … loopdo Flow control: whilewhile ++i <= Numeric functions: countcount List functions: globals
Shell Immediate Commands: globals
globals
Instructions: var
How does VScript::Value() work?: Var*&
var
Data = List functions: globals
Shell Immediate Commands: globals
globals
[i] Instructions: var
How does VScript::Value() work?: Var*&
var
Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
Name
= Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
(List functions: globals
Shell Immediate Commands: globals
globals
[i]) Flow control: if … thenif Numeric functions: istextistext(Data) Data=Data[to 60]; Text functions: convert
Instructions: convert
convert
Data to quoted; Flow control: if … then
Flow control: try … then
then
Instructions: putput Constants: nlnl, Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
Name
, " = ", Data Flow control: do … looploop }
Other usage

Separators: Curly brackets "{ … }"
Instructions: Local scope "{}"
Braces
are also used for Literals: List literals
Lists and arrays: List literals
list literals
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
in Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Instructions: procproc Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Literals: Procedure literals
Procedures: Procedure literals
procedure literals
to enclose Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Statements
Glossary: Statement
statements
of Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
procedure
.

Braces in the shell

Separators: Curly brackets "{ … }"
Instructions: Local scope "{}"
Braces
{ ... } are used to enclose ranges of program code with a private Glossary: Variable, var_refvariable scope Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
for Literals: List literals
Lists and arrays: List literals
list literals
. List functions: thisThis depends on Flow control: if … then
Flow control: try … then
the
place where they are encountered. Flow control: if … thenIf a Separators: Curly brackets "{ … }"
Instructions: Local scope "{}"
brace
occurs Operators: Make Identifier "@"at Flow control: if … then
Flow control: try … then
the
place of an Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Flow control: if … then
Flow control: try … then
then
it starts a private Glossary: Variable, var_refvariable scope. Flow control: if … thenIf a brace occurs Operators: Make Identifier "@"at Flow control: if … then
Flow control: try … then
the
position of an Vipsi command syntax: Expressions
Glossary: Expression
expression
Flow control: if … then
Flow control: try … then
then
it is Flow control: if … then
Flow control: try … then
the
beginning of a Literals: List literals
Lists and arrays: List literals
list literal
.

Flow control: if … then
Flow control: try … then
The
only place where List functions: thisthis may lead to confusion is Flow control: if … then
Flow control: try … then
the
vipsi shell: Operators: Make Identifier "@"At Flow control: if … then
Flow control: try … then
the
start of Flow control: if … then
Flow control: try … then
the
command line Flow control: if … then
Flow control: try … then
the
parser expects an Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
. For your convenience it is also possible to just type an Vipsi command syntax: Expressions
Glossary: Expression
expression
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
shell will print Flow control: if … then
Flow control: try … then
the
result. Thus Flow control: if … thenif you just type in

{ x=22, y=1.5, z=0 }

to see whether vipsi evaluates your Literals: List literals
Lists and arrays: List literals
list literal
as expected, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
opening { stands Operators: Make Identifier "@"at Flow control: if … then
Flow control: try … then
the
position of an Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
should be handled as Flow control: if … then
Flow control: try … then
the
start of a range of Vipsi command syntax: Statements
Glossary: Statement
statements
with private Glossary: Variable, var_refvariable scope.

As of version 0.8.8 Flow control: if … then
Flow control: try … then
the
shell has some automagic intelligence to detect List functions: thisthis. Flow control: if … thenIf a command line starts with an opening Separators: Curly brackets "{ … }"
Instructions: Local scope "{}"
brace
{ Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
shell defaults to a Literals: List literals
Lists and arrays: List literals
list literal
, except Flow control: if … thenif it contains a Separators: Semicolon ";"semicolon ";" Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
a pure Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
like Instructions: var
How does VScript::Value() work?: Var*&
var
. List functions: thisThis is done by silently putting a Instructions: putput Vipsi command syntax: Statements
Glossary: Statement
statement
in front of Flow control: if … then
Flow control: try … then
the
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
Flow control: if … then
Flow control: try … then
the
printed result is Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
always identical to what would be printed Flow control: if … thenif it would have been evaluated as an Vipsi command syntax: Expressions
Glossary: Expression
expression
without glue.

Valid HTML   Valid CSS