属性文法の面倒な点
Attribute Grammars を読んでみる.これの22ページあたりに出てくる文法をとりあげてみる.
- Symbol-table を毎回書かなければいけない
- add-item て? 副作用があっていいの?
::= program is Symbol-table( ) <- add-item( (Name( ), program), empty-table) ::= begin end Symbol-table( ) <- table-union( Symbol-table( ), Symbol-table( )) ::= := Symbol-table( ) <- Symbol-table( ) Type( ) <- lookup-type( Name( ), Symbol-table( )) ::= write Symbol-table( ) <- Symbol-table( ) Type( ) <- integer