Author: bernhard Date: Fri Jan 16 10:19:22 2009 New Revision: 35640 Modified: trunk/languages/pipp/src/common/php_MACRO.pir trunk/languages/pipp/src/common/php_basic.pir trunk/languages/pipp/src/common/php_builtin.pir trunk/languages/pipp/src/common/php_info.pir
Log: [Pipp] Use package vars for constants Modified: trunk/languages/pipp/src/common/php_MACRO.pir ============================================================================== --- trunk/languages/pipp/src/common/php_MACRO.pir (original) +++ trunk/languages/pipp/src/common/php_MACRO.pir Fri Jan 16 10:19:22 2009 @@ -33,15 +33,13 @@ .macro REGISTER_LONG_CONSTANT(symb, val) new $P0, 'PhpInteger' set $P0, .val - $P44 = get_hll_global 'php_constants' - $P44[.symb] = $P0 + set_hll_global .symb, $P0 .endm .macro REGISTER_STRING_CONSTANT(symb, val) new $P0, 'PhpString' set $P0, .val - $P44 = get_hll_global 'php_constants' - $P44[.symb] = $P0 + set_hll_global .symb, $P0 .endm =item C<.RETURN_BOOL( val )> Modified: trunk/languages/pipp/src/common/php_basic.pir ============================================================================== --- trunk/languages/pipp/src/common/php_basic.pir (original) +++ trunk/languages/pipp/src/common/php_basic.pir Fri Jan 16 10:19:22 2009 @@ -100,15 +100,14 @@ .RETURN_NULL() L1: $P1 = shift args - $S1 = $P1 - .local pmc cst - cst = get_hll_global 'php_constants' - $I0 = exists cst[$S1] - unless $I0 goto L2 - $P0 = cst[$S1] - .return ($P0) + .local string name + name = $P1 + .local pmc val + val = get_hll_global name + if_null val, L2 + .return (val) L2: - error(E_WARNING, "Couldn't find constant ", $S1) + error(E_WARNING, "Couldn't find constant ", name) .RETURN_NULL() .end Modified: trunk/languages/pipp/src/common/php_builtin.pir ============================================================================== --- trunk/languages/pipp/src/common/php_builtin.pir (original) +++ trunk/languages/pipp/src/common/php_builtin.pir Fri Jan 16 10:19:22 2009 @@ -112,12 +112,12 @@ error(E_WARNING,"Constants may only evaluate to scalar values") .RETURN_FALSE() L4: - $S1 = $P1 - .local pmc cst - cst = get_hll_global 'php_constants' - $I0 = exists cst[$S1] - if $I0 goto L6 - cst[$S1] = $P2 + .local string name + name = $P1 + .local pmc val + val = get_hll_global name + unless null val goto L6 # don't overwrite an existing value + set_hll_global name, $P2 .RETURN_TRUE() L6: .RETURN_FALSE() @@ -139,10 +139,13 @@ .RETURN_NULL() L1: $P1 = shift args - $S1 = $P1 - .local pmc cst - cst = get_hll_global 'php_constants' - $I0 = exists cst[$S1] + .local string name + name = $P1 + .local pmc val + val = get_hll_global name + $I0 = isnull val # check the nullness and invert it + $I0 = $I0 - 1 + $I0 = neg $I0 .RETURN_BOOL($I0) .end Modified: trunk/languages/pipp/src/common/php_info.pir ============================================================================== --- trunk/languages/pipp/src/common/php_info.pir (original) +++ trunk/languages/pipp/src/common/php_info.pir Fri Jan 16 10:19:22 2009 @@ -35,10 +35,8 @@ .REGISTER_STRING_CONSTANT('DEFAULT_INCLUDE_PATH', '.') # register NULL - .local pmc cst - cst = get_hll_global 'php_constants' new $P0, 'PhpNull' - cst['NULL'] = $P0 + set_hll_global 'NULL', $P0 .end