module php/pp/version4/statements

rules
// The real class decleration
   php4-to-box:
     Class(type,s,Some(ext),members) -> 
V([SOpt(VS(), "0")], [ V([SOpt(VS(), "0")|[SOpt(IS(), "2")]], [ H([SOpt(HS(), "1")], [ type | [ S(s) | [ ext | [ S("{") ] ] ] ]) | [ members ] ]) | [ H([SOpt(HS(), "0")], [ S("}") ]) ] ])
V vs=0 [ V vs=0 is=2 [ H hs=1 [ ~type s ~ext "{" ] ~*members ] H hs=0 [ "}" ] ]
php4-to-box: Class(type,s,None(),members) ->
V([SOpt(VS(), "0")], [ V([SOpt(VS(), "0")|[SOpt(IS(), "2")]], [ H([SOpt(HS(), "1")], [ type | [ S(s) | [ S("{") ] ] ]) | [ members ] ]) | [ H([SOpt(HS(), "0")], [ S("}") ]) ] ])
V vs=0 [ V vs=0 is=2 [ H hs=1 [ ~type s "{" ] ~*members ] H hs=0 [ "}" ] ]
rules // old function decl php4-to-box: OldFunctionDecl(s,params,topstat) ->
V([SOpt(VS(), "0")], [ V([SOpt(VS(), "0")|[SOpt(IS(), "2")]], [ H([SOpt(HS(), "1")], [ FBOX(KW(), S("old_function")) | [ S(s) | [ H([SOpt(HS(), "0")], [ params' | [ S("(") ] ]) ] ] ]) | [ topstat ] ]) | [ H([SOpt(HS(), "0")], [ S(")") | [ S(";") ] ]) ] ])
V vs=0 [ V vs=0 is=2 [ H hs=1 [ KW["old_function"] s H hs=0 [~params' "(" ]] ~*topstat ] H hs=0 [")" ";" ] ]
where <separate-by-comma> params => params' php4-to-box: OldFunctionDeclRef(s,params,topstat) ->
V([SOpt(VS(), "0")], [ V([SOpt(VS(), "0")|[SOpt(IS(), "2")]], [ H([SOpt(HS(), "1")], [ FBOX(KW(), S("old_function")) | [ H([SOpt(HS(), "0")], [ S("&") | [ S(s) ] ]) | [ H([SOpt(HS(), "0")], [ params' | [ S("(") ] ]) ] ] ]) | [ topstat ] ]) | [ H([SOpt(HS(), "0")], [ S(")") | [ S(";") ] ]) ] ])
V vs=0 [ V vs=0 is=2 [ H hs=1 [ KW["old_function"] H hs=0 [ "&" s] H hs=0 [~params' "(" ]] ~*topstat ] H hs=0 [")" ";" ] ]
where <separate-by-comma> params => params'