| define(`_uploop', |
define(`_uploop', |
| `ifelse($1, `$3', `$5', |
`ifelse($1, `$3', `$5', |
| `$4`'define(`$1', incr($1))_uploop(`$1', `$2', `$3', `$4', `$5')')') |
`$4`'define(`$1', incr($1))_uploop(`$1', `$2', `$3', `$4', `$5')')') |
| |
|
| \ argflist(argnum): Forth argument list |
\ argflist(argnum): Forth argument list |
| define(argflist, |
define(argflist, |
| `ifelse($1, 0, `', |
`ifelse($1, 0, `', |
| `uploop(`_i', 1, $1, `format(`u%d ', _i)', `format(`u%d ', _i)')')') |
`uploop(`_i', 1, $1, ``u''`_i ', ``u''`_i')')') |
| \ argdlist(argnum): declare C's arguments |
\ argdlist(argnum): declare C's arguments |
| define(argdlist, |
define(argdlist, |
| `ifelse($1, 0, `', |
`ifelse($1, 0, `', |
| \ argclist(argnum): pass C's arguments |
\ argclist(argnum): pass C's arguments |
| define(argclist, |
define(argclist, |
| `ifelse($1, 0, `', |
`ifelse($1, 0, `', |
| `uploop(`_i', 1, $1, `format(`u%d, ', _i)', `format(`u%d', _i)')')') |
`uploop(`_i', 1, $1, ``u''`_i, ', ``u''`_i')')') |
| \ icall(argnum) |
\ icall(argnum) |
| define(icall, |
define(icall, |
| `icall$1 ( argflist($1)u -- uret ) gforth |
`icall$1 ( argflist($1)u -- uret ) gforth |