Hay un pequeño problema con la sentencia Switch, si no tabulas el codigo te debe salir un mensaje de error diciendo que no has cerrado el case con end (aunque lo hayas escrito) y no entiende el default, en cambio si lo tabulas si que lo compila bien.
No me preocupa, solo era por informar.
			
			
			
				imposible... pon un ejemplo...
			
			
			
				tienes otro problema.
splinter@splinter:~/tmp> bgdc switch.prg 
BGDC 1.0.0 (Sep 30 2012 20:47:44)
Bennu Game Development Compiler
Copyright (c) 2006-2012 SplinterGU (Fenix/BennuGD)
Copyright (c) 2002-2006 Fenix Team (Fenix)
Copyright (c) 1999-2002 Jos� Luis Cebri�n Pag�e (Fenix)
File switch.dcb compiled (36603 bytes):
  Processes                     1
  Global data                 212 bytes
  Local data                  208 bytes
  Private data                  0 bytes
  Public data                   0 bytes
  Code                         72 bytes
  System processes             56
  Globals vars                 21
  Locals vars                  27
  Private vars                  0
  Publics vars                  0
  Identifiers                 473
  Structs                       4
  Strings                      15 (132 bytes)
splinter@splinter:~/tmp> cat switch.prg
begin
    switch(1)
case 1:
end
case 2:
end
end
end
splinter@splinter:~/tmp> 
			
			
			
				incluso
splinter@splinter:~/tmp> bgdc switch.prg 
BGDC 1.0.0 (Sep 30 2012 20:47:44)
Bennu Game Development Compiler
Copyright (c) 2006-2012 SplinterGU (Fenix/BennuGD)
Copyright (c) 2002-2006 Fenix Team (Fenix)
Copyright (c) 1999-2002 Jos� Luis Cebri�n Pag�e (Fenix)
File switch.dcb compiled (36603 bytes):
  Processes                     1
  Global data                 212 bytes
  Local data                  208 bytes
  Private data                  0 bytes
  Public data                   0 bytes
  Code                         72 bytes
  System processes             56
  Globals vars                 21
  Locals vars                  27
  Private vars                  0
  Publics vars                  0
  Identifiers                 473
  Structs                       4
  Strings                      15 (132 bytes)
splinter@splinter:~/tmp> cat switch.prg
begin
    switch(1) case 1: end case 2: end end
end
splinter@splinter:~/tmp> 
			
			
			
				Import "mod_text";
Process Main()
private
byte mivar1=220;
end
begin
loop
delete_text(0);
switch (mivar1)
case 0..3:
write(0,200,100,4,"La variable vale entre 0 y 3, incluidos");
end
case 4:
write(0,200,100,4,"La variable vale 4");
end
case 5,7,9:
write(0,200,100,4,"La variable vale 5 o 7 o 9");
end
default:
write(0,200,100,4,"La variable vale cualquier otro valor diferente de los anteriores");
end
end // switch
frame;
end //loop
end // begin
Este es el codigo de ejemplo que pone osk en su tutorial donde capté este fallo, si lo copias tal cual solo que cambiando las comillas te aparece este mensaje de error:
prueba.prg:19: error: "CASE" expected ( token error: "DEFAULT" ).
en cambio si lo pones asi:
Import "mod_text";
Process Main()
private
    byte mivar1=220;
end
begin
    loop
        delete_text(0);
            switch (mivar1)
                case 0..3:
                    write(0,200,100,4,"La variable vale entre 0 y 3, incluidos");
                end
                case 4:
                    write(0,200,100,4,"La variable vale 4");
                end
                case 5,7,9:
                    write(0,200,100,4,"La variable vale 5 o 7 o 9");
                end
                default:
                    write(0,200,100,4,"La variable vale cualquier otro valor diferente de los anteriores");
                end
            end // switch
        frame;
    end //loop
end // begin
Compila perfecto.
			
			
			
				lo que sucede es que interpreta que default es una etiqueta de salto... por estar pegado a la linea... no tiene que ver con la identacion, pon 1 espacio delante del default y  ya compila
voy a tener que poner la excepcion...
gracias!