-         

+ Antworten
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Bald neuer Basic für CCI

  1. #1
    CCBasPP
    Gast

    Bald neuer Basic für CCI

    Anzeige

    GearBest Black Friday Verbraucherelektronik Promotion
    Hallo,

    zur Zeit arbeite ich an einem neuen Basic Compiler für die C-Control. Ich hoffe es werden sich ein paar Leute mal das Ding herunterladen, wenn es fertig ist (dazu werde ich auf meiner Webseite noch eine Rubrik einrichten).

    Features des Compilers:

    * Mehrzeilige IF Bedingungen möglich
    * Verschachtelungen von IF Bedingungen möglich

    Beispiel:
    Code:
      If a = 1 Then
        If b = 2 AND c = 3 + 4 * (4-a) Then
          System.Pause c
        Else
          System.Print "Error!"
        End If
      Else
        System.Print "Error!"
      End If
    * SUB und FUNCTION Befehle mit Parameter Übergabe
    * Lokale und Globale Variablen (Ob eine Variable global od. lokal ist ergibt sich durch die Position)

    Beispiel:
    Code:
     Define a As Byte
     
     Function foo(x As Byte, y As Byte)
       Define Result As Byte
       Result = x + y
       Return Result
     End Function
    
     a = a + foo(1, 4)
    * eine kleine Implementierung von OOP

    Beispiel:
    Code:
      Type MeinOOPType
         Wert1 As Byte
         Wert2 As Byte
         IntegerWert As Integer
      End Type
    
      Define MeineVariable As MeinOOPType
    
      MeineVariable.Wert1 = 100
    * Bit Variablen heißen sind dann entweder vom Typ Bit oder Boolean. Der Speicherplatz der Variable wird automatisch erzreugt oder kann manuell angegeben werden. Anstatt ON und OFF kann man dann auch TRUE oder FALSE nehmen.

    * Konstanten können erstellt werden.

    Code:
      Const MyConst = 50
      Define x As Integer
     
      x = MyConst + 4
    * Select Anweisungen werden unterstütz.

    Beispiel:
    Code:
      Select Case x
        Case 1
         System.Print "Grün"
        Case 2
         System.Print "Gelb"
        Case Else
         System.Print "Rot"
      End Select
    So was haltet ihr davon?

    --

    Stefan Tappertzhofen (www.fdos.de, tappertzhofen@fdos.de)

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.02.2004
    Beiträge
    569
    super! wuerde einige nachteile des orginal basics beseitigen. bitte den compeiler so vorbereiten, dass man variablen in das eprom auslagern kann (wenn man mit der variable nicht rechnet, sondern sie fuer einen zweck braucht, bei dem sie sich fast nie aendert). noch besser waere es wenn man auserdem variablen in ein externes ram auslagern kann. wenn dasm it dem externen ram moeglich ist, dann bitte rechnen mit 64bit gleitkommazahlen ermoeglichen. wenn nur die von CCBasPP genannten vorschlaege umgesetzt werden wuerden waere das schon soper. die geschwindigkeit solltwe aber nicht unter sden mehrfunktionen leiden (ist schon langsam genug)
    Haftungsausschluß:
    Bei obigem Beitrag handelt es sich um meine private Meinung.
    Rechtsansprüche dürfen daraus nicht abgeleitet werden.
    Besonders VDE und die geltenden Gesetze beachten sowie einen gesunden Menschenverstand walten lassen!

  3. #3
    Gast
    Zitat Zitat von hrrh
    super! wuerde einige nachteile des orginal basics beseitigen. bitte den compeiler so vorbereiten, dass man variablen in das eprom auslagern kann (wenn man mit der variable nicht rechnet, sondern sie fuer einen zweck braucht, bei dem sie sich fast nie aendert). noch besser waere es wenn man auserdem variablen in ein externes ram auslagern kann. wenn dasm it dem externen ram moeglich ist, dann bitte rechnen mit 64bit gleitkommazahlen ermoeglichen. wenn nur die von CCBasPP genannten vorschlaege umgesetzt werden wuerden waere das schon soper. die geschwindigkeit solltwe aber nicht unter sden mehrfunktionen leiden (ist schon langsam genug)
    Die Geschwindigkeit ist die gleiche wie beim alten Basic, da auch zuerst nur Basic Tokens erzeugt werden. Da beim Aufrauf von Funktionen mit Parameter natürlich mehr Tokens verwendet werden als bei einer Funktion ohne Parameter (also nach dem alten Basic) ist ja klar. Ansonsten achte ich darauf, dass ein mit CCBasic++ compiliertes Programm binär identisch ist mit einen CCBAS compilierten.

    Die anderen angesprochenen Sachen könnten vielleicht in folge Versionen kommen. Erstmal das Grundgerüst zuende bringen.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    26
    Beiträge
    1.187
    Kennst du C3, den C-Compiler? Du könntest dir davon noch ein paar sachen abkupfern, wie z.B. das Ansprechen den e²prom IIC-Bus oder das von RTS und CTS. Den Compilier findet man auf der ccintern seite von d. harlos.

    hrrh hat geschrieben:

    ...variablen in ein externes ram ...

    Man kann doch variablen (mit boolean) im e²prom ablegen, oder hab ich das falsch verstanden?
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    26
    Beiträge
    1.187
    Nochwas: ist Interpreter nicht das richtige wort? Ein Compilier würde das ganze so umwandeln, das man es in das interne e²prom in dem auch Assembler drin gespeichert wird laden kann.
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.11.2003
    Ort
    Leipzig
    Alter
    30
    Beiträge
    578
    Finde ich eine Super Aktion!
    Klar werde ich mir das Teil runterladen und testen, sobald du es fertig hast!
    http://www.roboterbastler.de
    endlich wieder online

  7. #7
    CCBasic++
    Gast
    Aktuelles zum CCBasic++

    Hier findet Ihr schon einmal die Webseite von CCBasic++:

    http://www.fdos.de/ccbpp

    Heute habe ich schon einiges life auf der C-Control getestet. Und das meiste lief schon. Danach gings ans Bug fixing...

    [x] Sub mit Parametern läuft
    [x] Mehrzeilige If's mit Verschachtelungen läuft
    [x] Globale Variablen / lokale Variablen laufen
    [x] Define für BYTE und INTEGER läuft
    [x] System.Print und System.PrintNL läuft
    [x] Formel und Statement Umsetztung läuft
    [X] Gotos laufen (aber wer brauch die denn?)
    [x] System.Pause läuft
    [x] For Schleifen laufen

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    26
    Beiträge
    1.187
    Gibt es wieder New über den Interpreter?
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    32
    Beiträge
    158
    Für alle Gefahrensucher und Beta Tester: Die erste Version meines Compilers ist schon mal als Appetit Häppchen zum Download bereit.

    Zwar fehlen noch viele Implementationen (OOP zum Beispiel, DO Loops etc und die wichtigen Digital Port und Analog Port Techniken) aber einiges kann zumindest schon mal unter vorbehalt getestet werden.

    http://www.fdos.de/ccbpp ... Dann unter "Downloads"... Ihr braucht MS Visual Basic 6 Runtime um den compiler auszuführen. Im Package sind 3 Beispiele enthalten.

    Compiliert wird so: ccbpp [filename]

    Die erzeugte DAT Datei enthält dann alle Tokens.

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.02.2004
    Beiträge
    569
    und wenn man MS Visual Basic runtime nicht hat?! wo gibts das und wa kostets? laeufe der comtpeiler auch mit vmware unter linux?
    Haftungsausschluß:
    Bei obigem Beitrag handelt es sich um meine private Meinung.
    Rechtsansprüche dürfen daraus nicht abgeleitet werden.
    Besonders VDE und die geltenden Gesetze beachten sowie einen gesunden Menschenverstand walten lassen!

+ Antworten
Seite 1 von 3 123 LetzteLetzte

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •