README.txt
September 14, 2014 · View on GitHub
Language syntax:
// comment
/* comment */
def const = expr ;
def function-name () { /* statements */ }
def function-name ( arg [ , arg ]... ) { /* statements */ }
return;
return expr;
var-statement:
var variable-def [ , variable-def ]... ;
variable-def:
variable [ scalar-initializer ]
variable '[' size ']' [ array-initializer ]
scalar-initializer:
= constant-expr
array-initializer:
= { constant-expr [ , constant-expr ]... }
if ( expr ) statement
if ( expr ) statement else statement
for ( init-expr; test-expr; inc-expr ) statement
while ( test-expr ) statement
do statement while ( test-expr )
continue ;
break ;
label :
goto label ;
print expr [ ] ;
expr = expr
expr += expr expr -= expr expr *= expr expr /= expr expr %= expr expr &= expr expr |= expr expr ^= expr expr <<= expr expr >>= expr
expr && expr expr || expr
expr ^ expr expr | expr expr & expr
expr == expr expr != expr
expr < expr expr <= expr expr >= expr expr > expr
expr << expr expr >> expr
expr + expr expr - expr expr * expr expr / expr expr % expr
- expr ~ expr ! expr ++expr --expr expr++ expr--
function() function ( arg [, arg ]... ) array [ index ]
(expr) var integer "string"
Built-in variables:
clkfreq par cnt ina inb outa outb dira dirb ctra ctrb frqa frqb phsa phsb vcfg vscl
Built-in Functions:
waitcnt(target) waitpeq(state, mask) waitpne(state, mask)