Skip to content

Instantly share code, notes, and snippets.

@takahisa
Created August 8, 2012 10:43
Show Gist options
  • Save takahisa/3294150 to your computer and use it in GitHub Desktop.
Save takahisa/3294150 to your computer and use it in GitHub Desktop.
fact(N) :- N > 0 | N * fact(N-1) ;
fact(0) :- true | 0 ;
----
ldobj
ldobj
== fact/1 ======
stloc
ldc.i4
ldenv
sndmsg(N)
sndmsg(>)
brtr
ldflg
ret
ldc.i4
ldenv
sndmsg(N)
sndmsg(-)
ldenv
sndmsg(fact)
ldenv
sndmsg(N)
sndmsg(*)
ldflg
ret
== fact/1 ======
ldc.i4
eql
brtr
ldflg
ret
ldflg
brtr
ldflg
ret
ldc.i4
ldflg
ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment