%%% %% Section 15.8: Primary Expressions %% %% @author Martin Bravenboer <martin.bravenboer@gmail.com> %%% module languages/java-15/expressions/Primary imports languages/java-15/lexical/literals/Main languages/java-15/names/Main languages/java-15/expressions/Main exports %%% %% Section 15.8.1: Lexical Literals %%% sorts Literal context-free syntax Literal -> Expr {cons("Lit")} IntLiteral -> Literal FloatLiteral -> Literal BoolLiteral -> Literal CharLiteral -> Literal StringLiteral -> Literal NullLiteral -> Literal %%% %% Section 15.8.2: Class Literals %%% sorts ClassLiteral context-free syntax ClassLiteral -> Literal Type "." "class" -> ClassLiteral {cons("Class")} "void" "." "class" -> ClassLiteral {cons("VoidClass")} %%% %% Section 15.8.3/4: (Qualified this) %%% context-free syntax "this" -> Expr {cons("This")} TypeName "." "this" -> Expr {cons("QThis")} %%% %% Section 15.8.5: Parenthesized Expression %%% context-free syntax "(" Expr ")" -> Expr {bracket}