boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

007-ifelse.scm (420B)


      1 ;; tests/cc-cg/07-ifelse.scm — if/else returning different constants.
      2 
      3 (let ((cg (cg-init)))
      4   (cg-fn-begin cg "main" '() %t-i32)
      5   (cg-push-imm cg %t-i32 0)
      6   (cg-ifelse cg
      7              (lambda ()
      8                (cg-push-imm cg %t-i32 1)
      9                (cg-return cg))
     10              (lambda ()
     11                (cg-push-imm cg %t-i32 2)
     12                (cg-return cg)))
     13   (cg-fn-end cg)
     14   (write-bv-fd 1 (cg-finish cg)))