Go to the first, previous, next, last section, table of contents.


Details of syntax

<expression>:
    `('<expression>`)'
    <expression> <binary operator> <expression>
    `+' <expression>
    `-' <expression>
    <left value>
    <left value> <assignment operator> <expression>
    <left value> `++'
    <left value> `--'
    `++' <left value>
    `--' <left value>
    `!' <expression>
    <expression> `?' <expression> `:' <expression>
    <function> `(' <expr list> `)'
    <function> `(' <expr list> `|' <option list> `)'
    <string>
    <exponent vector>
    <atom>
    <list>

(See section various expressions)

<left value>:
    <program variable> [`['<expression>`]']*
<binary operator>:
    `+' `-' `*' `/' `%' `^'(exponentiation)
    `==' `!=' `<' `>' `<=' `>=' `&&' `||'
    `==' `!=' `<' `>' `<=' `>=' `&&' `||'
<assignment operator>:
    `=' `+=' `-=' `*=' `/=' `%=' `^=' 
<expr list>:
    <empty>
    <expression> [`,' <expression>]*
<option>:
    Character sequence beginning with an alphabetical letter `=' <expression>
<option list>:
    <option>
    <option> [`,' <option>]*
<list>:
    `[' <expr list> `]'
<program variable>:
   Sequence of alphabetical letters or numeric digits or _
   that begins with a capital alphabetical letter
   (X,Y,Japan etc.)

(See section variables and indeterminates)

<function>:
   Sequence of alphabetical letters or numeric digits or _
   that begins with a small alphabetical letter
   (fctr,gcd etc.)
<atom>:
   <indeterminate>
   <number>
<indeterminate>:
   Sequence of alphabetical letters or numeric digits or _
   that begin with a small alphabetical letter
   (a,bCD,c1_2 etc.)

(See section variables and indeterminates)

<number>:
   <rational number>
   <floating point number>
   <algebraic number>
   <complex number>

(See section Types of numbers)

<rational number>:
   0, 1, -2, 3/4
<floating point number>:
   0.0, 1.2e10
<algebraic number>: 
   newalg(x^2+1), alg(0)^2+1

(See section Algebraic numbers)

<complex number>:
   1+@i, 2.3*@i
<string>:
   character sequence enclosed by two `"''s.
<exponent vector>:
   `<<' <expr list> `>>'

(See section Groebner basis computation)

<statement>:
    <expression> <terminator>
    <compound statement>
    `break' <terminator>
    `continue' <terminator>
    `return' <terminator>
    `return' <expression> <terminator>
    `if' `(' <expr list> `)' <statement>
    `if' `(' <expr list> `)' <statement> `else' <statement>
    `for' `(' <expr list> `;' <expr list> `;' <expr list> `)' <statement>
    `do' <statement> `while' `(' <expr list> `)' <terminator>
    `while' `(' <expr list> `)' <statement>
    `def' <function> `(' <expr list> `)' `{' <variable declaration> <stat list> `}'
    `end(quit)' <terminator>

(See section statements)

<terminator>:
    `;' `$'
<variable declaration>:
    [`extern' <program variable> [`,' <program variable>]* <terminator>]*
<compound statement>:
    `{' <stat list> `}'
<stat list>:
    [<statement>]*


Go to the first, previous, next, last section, table of contents.