[uBasic] Hat schon jemand mal ge"CALL"t?

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Hat schon jemand mal ge"CALL"t?

Beitragvon rudi » 09.02.2010, 21:30

Hallo,

ich bin im Handbuch (sowie im german wiki) über den uBasic-Befehl "CALL" gestolpert. Da ich keinerlei Hinweise zu dem Befehl finden konnte, habe ich mir den Quelltext angesehen.

Der TOKEN ist in tokenizer.* verankert, aber in der ubasic.c nicht implementiert. Interessant ist auch, der TOKEN existiert schon in dieser unvollendeten Form in Adam Dunkels Ur-Version.

Sollte da noch etwas enstehen, oder wurde am Anfang von uBasic alles perfekt kopiert?

Gruß rudi
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 500
Registriert: 11.09.2009, 12:27
Kamera(s): A590IS_101B, SX260_100B

Beitragvon msl » 09.02.2010, 22:09

Hallo rudi,

Du entwickelst Dich hier langsam zum Aufräumkommando. :D

Das ist aber auch gut so, dass mal ein Fachmann mit den "Innereien" von CHDK beschäftigt.

Ich habe den Befehl auch aus der Token-Liste genommen, als ich im Handbuch mit der Tabelle angefangen hatte. Irgendwann stellte ich mir dann auch die Frage, wie dieser Befehl zu nutzen wäre und bin dabei zu keinem Ergebnis gekommen.

Es wird schon so sein, dass es einfach Fragmente aus dem Ur-uBasic sind. Jetzt bleibt die Frage, was machen wir damit? Entfernen, so lassen oder zu einem sinnvollen nutzbaren Befehl ausbauen? Ich persönlich tendiere bei solchen Sachen immer zum Aufräumen.

Im Handbuch werde ich call jedenfalls erst mal herausnehmen.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4510
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon gehtnix » 10.02.2010, 16:18

Hi,

bei HDR-Hyper habe ich mal im Ansatz versucht zu "call"en, wollte ein Datei aufrufen. Gingnix.
Das war's dann für mich.

gruß gehtnix
Bild
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 13:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS50 101b

Beitragvon rudi » 10.02.2010, 17:28

Hallo msl,

hauptsächlich wollte ich damit sagen, dass ich unser Handbuch immer wieder verwende!

Ich stimme dir zu, wir sollten den Interpreter davon befreien.

Man könnte aus dem CALL einen Firmware-ProcessCALL machen, aber so etwas sollte besser LUA vorbehalten bleiben.

Daher anbei der Patch zum entfernen des CALL-Befehles (A590 getestet). Nun erscheint beim Abarbeiten eines uBasic-Scriptes nicht mehr "unknown statement" sondern "parse error".

Gruß rudi
Dateianhänge
trunk248_uBasicCALL.diff
Basis: CHDK-DE trunk 248
(898 Bytes) 42-mal heruntergeladen
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 500
Registriert: 11.09.2009, 12:27
Kamera(s): A590IS_101B, SX260_100B

Beitragvon msl » 10.02.2010, 17:46

Hallo rudi,

schön, dass Du als Quellcode-Experte trotzdem immer noch auf das Handbuch zurückgreifst. ;)

Danke für den Patch!

Wenn niemand etwas dagegen hat, werde ich in den nächsten Tagen die Änderung einpflegen.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4510
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

call

Beitragvon naddel » 10.02.2010, 23:38

Hi gehtnix,

Das call dient in anderen Basic Dialekten dem Aufruf von Funktionen nicht von Dateien
Statt goto xxx schreibt man dann call xxx der Rücksprung erfolgt dann mit return auf die nächste
Zeile nach dem Aufruf. Ein Tokenizer call ohne return ist sinnlos.
Gruß naddel

http://chdk.wikia.com/wiki/Talk:UBASIC

As well as now knowing that using goto and gosub are equally valid to call up a label routine.
Zuletzt geändert von naddel am 11.02.2010, 00:06, insgesamt 1-mal geändert.
S2 1.00f mit aktueller DE Version
Benutzeravatar
naddel
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 156
Registriert: 26.01.2009, 20:42
Kamera(s): G3 s2 ixusii

Beitragvon rudi » 10.02.2010, 23:52

Hallo naddel,

dafür haben wir das GOSUB. Es sollte ohne CALL gehen.

Gruß rudi
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 500
Registriert: 11.09.2009, 12:27
Kamera(s): A590IS_101B, SX260_100B

Beitragvon gehtnix » 10.02.2010, 23:55

Hi,

dennoch, jetzt wo naddel das erwähnt, daher kenne ich es auch.
Hat sich ja aber komplett erledigt.

gruß gehtnix
Bild
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 13:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS50 101b

Beitragvon msl » 13.02.2010, 12:01

In Revision 251 eingepflegt.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4510
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a


Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste