|
From: | David Sugar |
Subject: | [Bayonne-devel] many forms of labels |
Date: | Tue, 01 Nov 2005 21:03:39 -0500 |
User-agent: | Mozilla Thunderbird 1.0.5 (Macintosh/20050711) |
private xxx label local to a script public xxx label globally accessable from any script using yyy::xxx form program xxx label globally accessible, with options, special use case. With "program main" being the primary special use. function xxx parametric function, globally callable from any script, called from call statement local xxx same as function, but only accessible from the same script file commonly used to build local macrosI am hoping that is all the special label cases that now exist in ccscript3 1.0.
Calling labels: goto to goto a public or private label, can set vars... call to call a function, creates new stack context source to call a label using current stack context, kind of a subroutine call but uses same local vars... gosubto use a public or private label and create an entirely new base context
return returns from a source, call, or gosub golfong woo wrote:
It can not work. starting 0.3.1 on x86 w32; timeslots=32 soundcard/0: session starting soundcard/0: state=initial, event=100, seq=0 soundcard/0: state=idle, event=100, seq=0 binding ivrscript... compiled mytest::start; 2 steps compiled mytest::done; 1 steps compiled mytest; 2 steps C:\Program Filessoundcard msgport starting \GNU Telephony\Bayonne IVRScript1: directory missing 1 applications compiled driver(s) started; 1 timeslot(s) used soundcard/0: state=idle, event=105, seq=1 soundcard/0: state=pickup, event=100, seq=1 soundcard/0: state=pickup, event=400, seq=2 soundcard/0: state=run, event=100, seq=2 soundcard/0: mytest.scr(2): script start access soundcard/0: state=hangup, event=100, seq=2 soundcard/0: state=hangup, event=400, seq=3 soundcard/0: state=idle, event=100, seq=3 2005/11/1, David Sugar <address@hidden>:In ccscript3, you no longer have labels done this way. Instead, consider: # some initialization stuff, occurs before any script starts... set %myvar "1" # main is the default entry point. program main sleep 60 goto start proc start echo "i'm in start, myvar = %myvar" goto done proc done echo "i'm in done" exit You can have a script without a main, but then it starts from the top, as in: set %myvar "1" goto start proc start echo "started myvar = " %myvar goto done proc done echo "im done" exit golfong woo wrote:Bayonne2-1.1.0 is working now. But when using label, it can not work well. Here is the script: ::start sleep 60 hangup exit ^hangup slog "^hangup" exit ^1 slog "^1" goto ::start Here is the console info: starting 0.3.1 on x86 w32; timeslots=32 soundcard/0: session starting soundcard/0: state=initial, event=100, seq=0 soundcard/0: state=idle, event=100, seq=0 binding ivrscript... compiled mytest; 6 steps C:\Program Files\GNU Telephony\Bayonne IVRScrisoundcard msgport starting pt1: directory missing 1 applications compiled driver(s) started; 1 timeslot(s) used soundcard/0: state=idle, event=105, seq=1 soundcard/0: state=pickup, event=100, seq=1 soundcard/0: state=pickup, event=400, seq=2 soundcard/0: state=run, event=100, seq=2 soundcard/0: mytest.scr(1): script start missing soundcard/0: state=sleep, event=100, seq=2 soundcard/0: state=sleep, event=709, seq=3 soundcard/0: state=run, event=100, seq=3 soundcard/0: ^1 soundcard/0: state=run, event=400, seq=4 soundcard/0: ^hangup soundcard/0: state=hangup, event=100, seq=4 soundcard/0: state=hangup, event=400, seq=5 soundcard/0: state=idle, event=100, seq=5 _______________________________________________ Bayonne-devel mailing list address@hidden http://lists.gnu.org/mailman/listinfo/bayonne-devel
dyfet.vcf
Description: Vcard
[Prev in Thread] | Current Thread | [Next in Thread] |