snake5 icon

new lang first app

snake5 | PRO | 01/17/15 09:52:26 PM UTC | 0 ⭐ | 947 👁️ | Never ⏰ | []
C |

1.14 KB

|

None

|

0 👍

/

0 👎

/// CODE ///
extern func dump( v : int64 );
 
func _test( a : int32 ) : int32
{
    var v : int8 = -5;
    return 0s8 + a + v;
}
 
func main()
{
    dump( _test( 1 ) );
}
/// BYTECODE ///
FUNC (struct=6 op=30 opsub=0 tt=75)
{
  name = '_test'
  bytecode:
    DECLARG <int32> a [12]
    DECLVAR <int8> v [9]
    CONST <uint8> 0 [16] : 05
    NEGATE <int32> 1 [18] <= 0 [16]
    COPY <> v [9] <= 1 [18]
    CONST <int8> 2 [19] : 00
    ADD <int32> 3 [21] <= 2 [19], a [12]
    ADD <int32> 4 [22] <= 3 [21], v [9]
    RETURN 4 [22]
}
FUNC (struct=6 op=30 opsub=0 tt=75)
{
  name = 'main'
  bytecode:
    CONST <uint8> 0 [16] : 01
    FCALL <int32> 1 [18] <= func:_test [11] args(1): 0 [16]
    FCALL <>  [0] <= func:dump [8] args(1): 1 [18]
}
/// GENERATED C CODE ///
extern void Idump( Iint64 Iv );
Iint32 _Itest( Iint32 Ia );
void Imain();
 
Iint32 _Itest( Iint32 Ia )
{
    Iint8 Iv;
    const Iuint8 I0 = 5;
    Iint32 I1 = -I0;
     Iv = I1;
    const Iint8 I2 = 0;
    Iint32 I3 = I2 + Ia;
    Iint32 I4 = I3 + Iv;
    return I4;
}
 
void Imain()
{
    const Iuint8 I0 = 1;
    Iint32 I1 = _Itest( I0 );
    Idump( I1 );
}
/// OUTPUT ///
int (-4)

Comments