-
Notifications
You must be signed in to change notification settings - Fork 4
Release 0.2.0
らいパン粉 edited this page Aug 27, 2018
·
24 revisions
int32型に限定した、関数定義をできるように。
print 5
5が出力される
;を使って分を区切れる。
print 4;
4+5+1+1; print 888
(4+5)*2
add x y = x + y
print (add 4 5)
<program> := {<stmt>}
<def_func> := <id> {<skip_many> <id>} <skip_many> '=' <expr>
<id> := [a-z]{ [a-z] | [0-9] | '_' }
<stmt> := <skip_many> ( <infix> | <expr> ) <skip_many>
<expr> := <term> <skip_many> { <op> <skip_many> <term> <skip_many> } ';'?
<infix> := ('infixr' | 'infixl') <space>+ <num> <space>+ <op>
<op> := '+' | '-' | '/' | '*'
<term> := <num> | <id> | <paren>
<paren> := '(' <expr> ')'
<num> := [0-9]+
<skip> := '\n' | <space>
<skip_many>:= {<skip>}
<space> := ' ' | '\t'