Difference between revisions of "A Recital Primer"
Barrymavin (Talk | contribs) (→Lines and Indentation) |
Barrymavin (Talk | contribs) (→Lines and Indentation) |
||
Line 14: | Line 14: | ||
multi line ; | multi line ; | ||
command" | command" | ||
+ | </code> | ||
+ | |||
+ | For better code readability it is recommended that you indent code blocks such as if statements, for loops etc. | ||
+ | |||
+ | <code lang="Recital"> | ||
+ | // indented code if much more readable and easier to maintain | ||
+ | for i=1 to 10 | ||
+ | name = "hello world" | ||
+ | if name = "hello world" | ||
+ | // indent like this | ||
+ | endif | ||
+ | endfor | ||
</code> | </code> | ||
Revision as of 01:04, 25 October 2009
Contents
A Recital Primer
Lexical Structure
Keywords
Lines and Indentation
Tabs and spaces have no significance in Recital. Recital commands can begin on any column of a line. A newline ends the command. If you have particularly long commands, you can extend over multiple lines by placing the line continuation character ; (semicolon) at the end of each line that is to be continued.
echo "This is a one line command" echo "This is a ; multi line ; command"
For better code readability it is recommended that you indent code blocks such as if statements, for loops etc.
// indented code if much more readable and easier to maintain
for i=1 to 10
name = "hello world" if name = "hello world" // indent like this endif
endfor code>
Comments
Single line comments
// allows comment lines to be inserted in programs to enhance their readability and maintainability. The // command allows all characters following it on a line, to be treated as a comment and to be ignored by Recital. The // command can be placed anywhere on a line, even following an executable command.
// declare variables private x,y,z
Multi line comments
/* and */ denote block comments. These can be inserted in programs to enhance their readability and maintainability.
The /* denotes the start of the comment block, the */ the end of the comment block.
All characters between the two comment block delimiters are treated as comments and ignored by Recital.
/* the following lines are multi line comments */ private x,y,z
Data Types
Identifiers
Operators
Expressions
Statements
Control Flow
Looping
Macros
Variable macro substitution
The & macro function substitutes the contents of the specified variable into the command line. To use a macro in the middle of a word, it is necessary to end the variable name with a '.'. Any type of memory variable can be substituted as a macro.
subscript = 10 i10i = 5 ? i&subscript.i 5
Expression macro substitution
The & macro function can also substitute the result of an expression into the command line. The expression must be enclosed in round brackets.
subscript = "1" i10i = 5 ? i&(subscript + "0")i 5
Shell command output substitution
Recital provides tight integration with the unix/linux command shell. The ` ... ` command sequence (backticks) can be used to run external shell commands that are piped together and to substitute the output into a Recital character string.
echo "The default directory is `pwd`" echo "There are `ls -l *.dbf | wc -l` tables in this directory"