Melt Grammar Rules
: abstract
: ArrayAccess '[' Expr ']'
| Id '[' Expr ']'
: ArrayDcl '[' ']'
| Id '[' ']'
| PrimativeType '[' ']'
: '{' Stmts '}'
| '{' '}'
: catch '(' FormalDcl ')' Block
: class Id '{' ClassMemberDcls '}' OptSemi
| class Id extends Id '{' ClassMemberDcls '}' OptSemi
: Expr '/' Expr
| Expr '%' Expr
| '+' Expr
| '-' Expr
| Expr '&' Expr
| Expr '|' Expr
| Expr '^' Expr
| '~' Expr
| true
| false
| Expr '?' Expr ':' Expr
| '(' Expr ')'
| float_const
| LHS
| int_const
| 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
| new PrimativeType '[' int_const ']'
| new Id '(' ExprList ')'
: final
:
| finally Block
: id
| break Id ';'
| break ';'
| continue Id ';'
| continue ';'
| VDcl
| fore '(' CS_Stmts Expr ';' CS_Stmts ')' MStmt
| if '(' Expr ')' MStmt else MStmt
| for '(' ForInit Expr ';' StmtExprList ')' MStmt
| while '(' Expr ')' MStmt
| Id ':' MStmt
| ';'
| do Stmt while '(' Expr ')' ';'
| return Expr ';'
: native
:
| package IdDotList ';'
: ';'
|
: boolean
| byte
| char
| double
| float
| int
| long
| short
| void
: private
: protected
: public
: static
| StmtExpr ';'
| switch '(' Expr ')' SwitchBlock
: square LHS
| LHS '=' Expr
| LHS '++'
| LHS '--'
| '++' LHS
| '--' LHS
| LHS '+=' Expr
| LHS '-=' Expr
| LHS '*=' Expr
| LHS '/=' Expr
| LHS '%=' Expr
| LHS '>>>=' Expr
| LHS '>>=' Expr
| LHS '<<=' Expr
| LHS '&=' Expr
| LHS '|=' Expr
| LHS '^=' Expr
: strictfp
: case Expr ':'
| default ':'
: synchronized
: transient
: fore '(' CS_Stmts Expr ';' CS_Stmts ')' UnMStmt
| if '(' Expr ')' Stmt
| if '(' Expr ')' MStmt else UnMStmt
| for '(' ForInit Expr ';' StmtExprList ')' UnMStmt
| while '(' Expr ')' UnMStmt
| Id ':' UnMStmt
: volatile
'Used-In' Rules
',' is used in these productions:
';' is used in these productions:
':' is used in these productions:
'!' is used in these productions:
'!=' is used in these productions:
'?' is used in these productions:
'/' is used in these productions:
'/=' is used in these productions:
'.' is used in these productions:
'^' is used in these productions:
'^=' is used in these productions:
'~' is used in these productions:
'-' is used in these productions:
'--' is used in these productions:
'(' is used in these productions:
')' is used in these productions:
'[' is used in these productions:
']' is used in these productions:
'{' is used in these productions:
'}' is used in these productions:
'*' is used in these productions:
'*=' is used in these productions:
'&' is used in these productions:
'&&' is used in these productions:
'&=' is used in these productions:
'%' is used in these productions:
'%=' is used in these productions:
'+' is used in these productions:
'++' is used in these productions:
'+=' is used in these productions:
'<' is used in these productions:
'<<' is used in these productions:
'<<=' is used in these productions:
'<=' is used in these productions:
'=' is used in these productions:
'-=' is used in these productions:
'==' is used in these productions:
'>' is used in these productions:
'>=' is used in these productions:
'>>' is used in these productions:
'>>=' is used in these productions:
'>>>' is used in these productions:
'>>>=' is used in these productions:
'|' is used in these productions:
'|=' is used in these productions:
'||' is used in these productions:
abstract is used in these productions:
boolean is used in these productions:
break is used in these productions:
byte is used in these productions:
case is used in these productions:
catch is used in these productions:
char is used in these productions:
class is used in these productions:
continue is used in these productions:
default is used in these productions:
do is used in these productions:
double is used in these productions:
else is used in these productions:
extends is used in these productions:
false is used in these productions:
final is used in these productions:
finally is used in these productions:
float is used in these productions:
float_const is used in these productions:
for is used in these productions:
fore is used in these productions:
id is used in these productions:
Id
if is used in these productions:
import is used in these productions:
int is used in these productions:
int_const is used in these productions:
long is used in these productions:
native is used in these productions:
new is used in these productions:
package is used in these productions:
private is used in these productions:
protected is used in these productions:
public is used in these productions:
return is used in these productions:
short is used in these productions:
square is used in these productions:
static is used in these productions:
strictfp is used in these productions:
switch is used in these productions:
synchronized is used in these productions:
transient is used in these productions:
true is used in these productions:
try is used in these productions:
void is used in these productions:
volatile is used in these productions:
while is used in these productions: