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'