In-class collaborative exercises. Extend the Java-subset syntax with the following productions. Indicate the changes to the java1.ss Java type checker to incorporate each change. 1. MultiplicativeExpression -> MultiplicativeExpression % CastExpression (If you understand java1.ss, this is very easy: 2 lines!) 2. Statement -> IterationStatement IterationStatement -> while ( Expression ) Statement (This is pretty easy: about 6 lines.) 3. Type Declaration -> InterfaceDeclaration ClassDeclaration -> ClassModifiers class Identifier Interfaces ClassBody InterfaceDeclaration -> interface Identifier Interfaces InterfaceBody InterfaceDeclaration -> interface Identifier InterfaceBody InterfaceBody -> { FieldDeclarations } Interfaces -> implements TypeNameList TypeNameList -> TypeName ,* (This is hard.)