V commands
V commands perform special operations. For example, $print prints an object's definition. $include includes a V file. #define allows you to define conditional code.
Summary of commands by category
Here is a summary of V commands by category. Commands that appear as a group, with the first command not indented and the others indented, are documented together under the first command.
Category
|
Command
|
Description
|
Printing/saving an object's definition. |
$print
$dprint
$save
$save_usr |
Print/save an object's definition. |
Printing an object's value. |
$int
$ptr
$real
$str
$get_array
$sub_array |
Print a scalar data object's value.
Print an array object's value. |
Printing/setting object references. |
$link
$obj_pval
$obj_val
$obj_ref
$get_array_ref
$refcnt
$refs_to |
Connect objects.
Print connected objects.
Print number of references to object.
Print objects connected to. |
Printing/setting other object characteristics |
$array_dims
$array_size
$get_data_type
$get_obj_att
$get_obj_prop
$obj_path
$set_data_type
$set_obj_name
$user_template
$move |
Print array dimensions and size.
Print data type.
Print an attribute.
Print a property.
Print full pathname.
Set data type.
Set name.
Print object's template name.
Moves an object in the hierarchy. |
Listing subobjects |
$list |
List immediate subobjects. |
Validating and debugging |
$cur_seq,
$obj_seq
$obj_seq_base
$obj_seq_ptrs
$echo
$obj_id
$match
$ematch
$notify
$deps
$resolve
$set_trace
$unset_trace
$set_verbose
$unset_verbose
$valid
$obj_proc |
Print sequence number.
Echo string.
Print object's id and process id.
Test whether objects match.
List notifications on an object.
List dependencies for a method.
Resolve object references.
Trace certain events.
Execute in verbose mode.
Test whether object has valid value.
Get process id of an object. |
Controlling execution |
$pause
$push
$pop |
Pause execution.
Delay delivery of events. |
Including V files |
$include |
Include a V file. |
Making code conditional |
#define
#undef
#ifdef
#else
#endif |
Conditionally parse a block of V code. |
Others |
$help
$open
$quit
$local_quit
$compile
$generate
$type
$server_info
$shell
$timer_start
timer_get
$set_file_env |
Print V-command help.
Parse a buffered object.
Quit AVS/Express.
Quit local process only.
Compile an object.
Generate code for an object.
Print AVS/Express base types.
Print server information.
Execute a shell command.
Get timing information.
Make an environment variable accessible as an AVS/Express file variable. |
General coding rules
Format
Commands consist of a command name followed by zero or more arguments. Commands always begin with a $ character (except for the #define command). Commands do not end with a semicolon.
No continuation lines
Commands can start anywhere on a line, but cannot be split across lines.
Separators
A command name and each of its arguments must be space- or tab-separated.
Case sensitive
AVS/Express is case sensitive. $print is a command, but $Print is not.
Specifying an object name
Most commands take an optional object name as one of their arguments:
Default object -- The object name is usually optional, and defaults to the current object. In the syntax diagram for an object, optional arguments appear in brackets. For example: $print [object].
Subobjects -- When you do specify an object name, you must reference a subobject of the current object. To refer to an immediate subobject, specify an unqualified name. To refer to a lower-level subobject, either navigate to the object before issuing the command, or specify a pathname.
Redirecting output to a file
You can redirect any command's output to a file, by specifying UNIX-style redirection at the end of the command. This is valid on Windows systems as well.
The following example redirects the output of the $save command to a file. Since $save prints an object's V definition, the command with redirection saves the object's V definition to a file, and is equivalent to the File->Save Object pull-down command in the Network Editor:
$save myapp > myV/myapp.v
The default directory is the directory in which AVS/Express started.