Changeset 21381

Show
Ignore:
Timestamp:
10/15/08 18:50:32 (6 years ago)
Author:
fujidig
Message:

ユーザ定義関数も動くように

Location:
lang/javascript/hsp-on-js/trunk/src
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/hsp-on-js/trunk/src/builtin-funcs.js

    r21336 r21381  
    3434                } 
    3535                var frame = this.frameStack.pop(); 
    36                 if(val) { 
     36                if(frame.userDefFunc && frame.userDefFunc.isCType) { 
     37                        this.stack.push(val); 
     38                } else if(val) { 
    3739                        switch(val.getType()) { 
    3840                        case VarType.STR: 
  • lang/javascript/hsp-on-js/trunk/src/evaluator.js

    r21336 r21381  
    171171                        break; 
    172172                case Instruction.Code.CALL_USERDEF_CMD: 
     173                case Instruction.Code.CALL_USERDEF_FUNC: 
    173174                        var userDefFunc = insn.opts[0]; 
    174175                        var argc = insn.opts[1]; 
  • lang/javascript/hsp-on-js/trunk/src/run-in-shell.js

    r21137 r21381  
    2424        var sequence = compiler.compile(); 
    2525 
    26 /*      sequence.forEach(function(insn){ 
     26//* 
     27sequence.forEach(function(insn){ 
    2728                print(insn); 
    2829        }); 
    29 */ 
     30//*/ 
    3031 
    3132        var evaluator = new Evaluator(axdata, sequence); 
  • lang/javascript/hsp-on-js/trunk/src/t.hsp

    r21336 r21381  
    11#module 
    2 #deffunc foo array a 
    3         a.0 = a.1 
    4         return 
     2#defcfunc fib int n 
     3        if n < 2 : return 1 
     4        return fib(n-2) + fib(n-1) 
    55#global 
    66 
    7 a = 111, 222 
    8 foo a 
    9 foreach a 
    10         mes "a."+cnt+" = "+a.cnt 
     7repeat 10 
     8        mes "fib("+cnt+") = "+fib(cnt) 
    119loop