%%%
%% Jimple keywords
%%%
module languages/jimple/Keywords
exports
sorts Keyword
lexical syntax
"abstract" -> Keyword
"boolean" -> Keyword
"breakpoint" -> Keyword
"byte" -> Keyword
"char" -> Keyword
"class" -> Keyword
"double" -> Keyword
"entermonitor" -> Keyword
"enum" -> Keyword
"exitmonitor" -> Keyword
"extends" -> Keyword
"final" -> Keyword
"float" -> Keyword
"implements" -> Keyword
"instanceof" -> Keyword
"int" -> Keyword
"interface" -> Keyword
"lookupswitch" -> Keyword
"long" -> Keyword
"native" -> Keyword
"null" -> Keyword
"null_type" -> Keyword
"private" -> Keyword
"public" -> Keyword
"ret" -> Keyword
"return" -> Keyword
"short" -> Keyword
"static" -> Keyword
"synchronized" -> Keyword
"throws" -> Keyword
"transient" -> Keyword
"unknown" -> Keyword
"void" -> Keyword
"volatile" -> Keyword
lexical restrictions
"abstract"
"annotation" %% not a keyword
"boolean"
"breakpoint"
"byte"
"char"
"class"
"double"
"entermonitor"
"enum"
"exitmonitor"
"extends"
"final"
"float"
"implements"
"instanceof"
"int"
"interface"
"lookupswitch"
"long"
"native"
"null"
"null_type"
"private"
"public"
"ret"
"return"
"short"
"static"
"synchronized"
"throws"
"transient"
"unknown"
"void"
"volatile"
-/- [A-Za-z0-9\_\$]