Attribute Grammar

Attributes

Symbol Attribute Name Java Type Inherited/Synthesized Description
 
 
 

Rules

Node Predicates Semantic Functions
program → varDefinition* statement*
varDefinition → type name:string
intType:type → ε
floatType:type → ε
print:statement → expression
assignment:statement → left:expression right:expression
arithmetic:expression → left:expression operator:string right:expression
variable:expression → name:string
intLiteral:expression → intValue:int
floatLiteral:expression → floatValue:float

Operators samples (cut & paste if needed):
⇒ ⇔ ≠ ∅ ∈ ∉ ∪ ∩ ⊂ ⊄ ∑ ∃ ∀