Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Fibonacci1(num)
- {
- if (num <= 1) {
- return 1;
- }
- return Fibonacci1(num - 1) + Fibonacci1(num - 2);
- }
- function Fibonacci2(num)
- {
- var a = 1;
- var b = 0;
- var temp;
- while (num >= 0)
- {
- temp = a;
- a = a + b;
- b = temp;
- num = num - 1;
- }
- return b;
- }
- function Retless(a)
- {
- Print("a = ", a);
- }
- Print("Fibonacci(4) = ");
- Print(Fibonacci1(4));
- Print(Fibonacci2(4));
- var list = [ "This", "is", "a" ];
- list = list + [ "Sentence" ];
- Print(list);
- // is this comment?
- var a = 10;
- Print(a);
- a = "Hallo";
- Print(a);
- var glob;
- function SetGlob(x) {
- glob = x;
- Print("Set glob to '", x, "'");
- }
- SetGlob("glob-content");
- Print("glob is '", glob, "'");
- var counter = CreateCounter();
- Print("cnt = ", counter.GetValue());
- Print("cnt = ", counter.Increment());
- Print("cnt = ", counter.Increment());
- Print("cnt = ", counter.Decrement());
- RealGlobal = 10;
- Print(ReadOnlyGlobal);
- // ReadOnlyGlobal = 10;
- list[1] = "was";
- Print(list[0]);
- for(x in list) {
- Print(x);
- }
- =======================================================================
- 000000 <main>:
- 000000 push_str 'Fibonacci(4) = '
- 000012 call_fn Print, 1
- 00001B pop
- 00001C push_num 4
- 000025 call_fn Fibonacci1, 1
- 000033 call_fn Print, 1
- 00003C pop
- 00003D push_num 4
- 000046 call_fn Fibonacci2, 1
- 000054 call_fn Print, 1
- 00005D pop
- 00005E push_str 'a'
- 000062 push_str 'is'
- 000067 push_str 'This'
- 00006E array_pack 3
- 000071 store_global 0
- 000074 load_global 0
- 000077 push_str 'Sentence'
- 000082 array_pack 1
- 000085 add
- 000086 store_global 0
- 000089 load_global 0
- 00008C call_fn Print, 1
- 000095 pop
- 000096 push_num 10
- 00009F store_global 1
- 0000A2 load_global 1
- 0000A5 call_fn Print, 1
- 0000AE pop
- 0000AF push_str 'Hallo'
- 0000B7 store_global 1
- 0000BA load_global 1
- 0000BD call_fn Print, 1
- 0000C6 pop
- 0000C7 push_str 'glob-content'
- 0000D6 call_fn SetGlob, 1
- 0000E1 pop
- 0000E2 push_str '''
- 0000E6 load_global 2
- 0000E9 push_str 'glob is ''
- 0000F5 call_fn Print, 3
- 0000FE pop
- 0000FF call_fn CreateCounter, 0
- 000110 store_global 3
- 000113 load_global 3
- 000116 call_obj GetValue, 0
- 000122 push_str 'cnt = '
- 00012B call_fn Print, 2
- 000134 pop
- 000135 load_global 3
- 000138 call_obj Increment, 0
- 000145 push_str 'cnt = '
- 00014E call_fn Print, 2
- 000157 pop
- 000158 load_global 3
- 00015B call_obj Increment, 0
- 000168 push_str 'cnt = '
- 000171 call_fn Print, 2
- 00017A pop
- 00017B load_global 3
- 00017E call_obj Decrement, 0
- 00018B push_str 'cnt = '
- 000194 call_fn Print, 2
- 00019D pop
- 00019E push_num 10
- 0001A7 store_global RealGlobal
- 0001B4 load_global ReadOnlyGlobal
- 0001C5 call_fn Print, 1
- 0001CE pop
- 0001CF push_str 'was'
- 0001D5 push_num 1
- 0001DE load_global 0
- 0001E1 array_store
- 0001E2 store_global 0
- 0001E5 push_num 0
- 0001EE load_global 0
- 0001F1 array_load
- 0001F2 call_fn Print, 1
- 0001FB pop
- 0001FC load_global 0
- 0001FF iter_make
- 000200 iter_next
- 000201 jif 21B
- 000206 store_local 4
- 000209 load_local 4
- 00020C call_fn Print, 1
- 000215 pop
- 000216 jmp 200
- 00021B ret
- 00021C Fibonacci1:
- 00021C load_local 0
- 00021F push_num 1
- 000228 less_eq
- 000229 jif 238
- 00022E push_num 1
- 000237 retval
- 000238 load_local 0
- 00023B push_num 1
- 000244 sub
- 000245 call_fn Fibonacci1, 1
- 000253 load_local 0
- 000256 push_num 2
- 00025F sub
- 000260 call_fn Fibonacci1, 1
- 00026E add
- 00026F retval
- 000270 ret
- 000271 Fibonacci2:
- 000271 push_num 1
- 00027A store_local 1
- 00027D push_num 0
- 000286 store_local 2
- 000289 load_local 0
- 00028C push_num 0
- 000295 greater_eq
- 000296 jif 2C6
- 00029B load_local 1
- 00029E store_local 3
- 0002A1 load_local 1
- 0002A4 load_local 2
- 0002A7 add
- 0002A8 store_local 1
- 0002AB load_local 3
- 0002AE store_local 2
- 0002B1 load_local 0
- 0002B4 push_num 1
- 0002BD sub
- 0002BE store_local 0
- 0002C1 jmp 289
- 0002C6 load_local 2
- 0002C9 retval
- 0002CA ret
- 0002CB Retless:
- 0002CB load_local 0
- 0002CE push_str 'a = '
- 0002D5 call_fn Print, 2
- 0002DE pop
- 0002DF ret
- 0002E0 SetGlob:
- 0002E0 load_local 0
- 0002E3 store_global 2
- 0002E6 push_str '''
- 0002EA load_local 0
- 0002ED push_str 'Set glob to ''
- 0002FD call_fn Print, 3
- 000306 pop
- 000307 ret
- =======================================================================
- Fibonacci(4) =
- 5
- 5
- [ This is a Sentence ]
- 10
- Hallo
- Set glob to ' glob-content '
- glob is ' glob-content '
- cnt = 0
- cnt = 1
- cnt = 2
- cnt = 1
- 42
- This
- This
- was
- a
- Sentence
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement