PlanetSwitch Planet3DS PlanetVita PSP.de PlanetiPhone Classics Forum Handheld-Wiki

PGN-ID:[?] (Nicht eingeloggt)
Login
Registrieren
PlanetDS PlanetGameboy N-Page.de
portablegaming.de  

Zurück   portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung


Development Abteilung Ihr wollt für euren Lieblingshandheld Spiele oder Tools entwickeln?
Bitte die Präfixe benutzen!

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 03.11.2004, 22:24   #1
 
Registriert seit: 27.06.2003
Alter: 31

Vertex hat die Renommee-Anzeige deaktiviert

Standard Hochsprache in Entwicklung

Hi!
Also ich Plane z. Z. eine Hochsprache für den Pokemon Mini geannt Adagio Mini. Der Lexer dürfte soweit jetzt schon fertig sein, bisher hat er noch keine Bugs verursacht.

Die Syntax richtet sich an BASIC und C. Es werden dann 3 Datentypen für Variablen/Arrays verwendet können. Byte Short und Int. Weiterhin kann man Strukturen basteln und Pointer werden auch unterstüzt (diese können dann z. B. direkt auf Hardwareregister zeigen).

Hier mal so das grundlegende Konzept:
Code:
#title "Name" 
#code  "xxxx" 

; Kommentar 

; Konstanten 
const KEYPAD         = $2052 
const LCD_CONTROL0   = $2080 
const LCD_CONTROL1   = $2081 
const ENABLE_MAP     = %0000010 
const ENABLE_SPRITES = %00000100 

; Struktur 
struct sTest 
{ 
   byte  abc 
   short def 
   int   ghi 
} 

; statische Variablen 
static byte   a = 10 
static short  b = 20 
static int    c = 30 
static string d = "test" 
static sTest  e = 1, 2, 3 

; dynamische Variablen 
byte   f = 10 
short  g = 20 
int    h = 30 
string i = "test" 
sTest  j 

j.abc = 4 : j.def = 5 : j.ghi = 6 

; pointer 
static byte  *pa = @a; 
       short *pb = @b; 

; Arrays 
static byte k[3][3][3] = {{0, 1, 2}, _
                          {3, 4, 5}, _
                          {6, 7, 8}}
       byte l[10][10][10] ; dynamisches, 3 dimensionales Array 

; zählgeprüfte Schleife 
for a = 1 to 8 step 2 
{ 
   ; ... 
} 


; anfangsgeprüfte Schleife 
while(a <> 1) 
{ 
   a = a-1 
   ; ... 
} 

; endgeprüfte Schleife 
repeat 
{ 
   a = a+1 
   ; ... 
} until(a > 10) 

; bedingungslose Schleife 
repeat 
{ 
   a = a+1 
   if(a == 100) exit 
} forever 

; einzeilige Wenn-Anweisung 
if(a == 10) ; ... 

; mehrzeilige Wenn-Anweisung 
if(a == 10) 
{ 
   ; ... 
} 
elseif(b == 10) 
{ 
   ; ... 
} 
else 
{ 
   ; ... 
} 

; merhseitige Auswahl 
select(a) 
{ 
   case 1: 
      ; ... 

   case 2: 
      ; ... 

   case 3: 
      ; ... 

   else: 
      ; ... 
} 

; Sprünge 
Gosub label1 
Goto  label2 

; Sprungmarke 
label1: 
; ... 
Return 

; Sprungmarke 
label2: 
; ... 

label3: 
static #incbin "test.bin" ; einbinden einer binären Datei
Es soll dann eine Lib wahlweise eingebunden werden(nur, verwendete Funktionen werden dann eingebunden).

Hmm also auf jedenfall werde ich Lexer und Parser (event. sogar den Optimicer) Open Source machen. Aber den Compiler der letzendlich aus den analysierten und optimierten Tokenstream eine ausführbare Datei macht + IDE + Debugger(der zusätzlich Emulator sein wird) für vllt. 10 Euro verkaufen(man bedenke, es steckt ein ahufen Zeit in soetwas).

Naja also den Lexer kann man sich schon unter http://vertex.art-fx.org/AdagioMini.zip herunterladen.

Er unterstützt schon folgendes:
- erkennen von #include
- erkennen von Mehrfachincludes
- Inkludiert wird rekursiv
- Binärwerte und Hexadezimalwerte werden in Dezimalwerte umgewnadelt
- Unterscheiden bei einem Unterstrich bei Zeilenende(zum verbinden mit der nächsten Zeile) und Konstanten/Variablenname
- Fasst <=, =<, <>, >< usw. zusammen zu einen Token
- entfernt Whitespaces und ignoriert Kommentare
- erkennen Strings

mfg olli
Vertex ist offline   Mit Zitat antworten
Sponsored Links
Alt 03.11.2004, 22:31   #2
ehem. Teammitglied
 
Benutzerbild von Tharo
 
Registriert seit: 02.09.2002
Ort: フランクフルト

Tharo wird schon bald berühmt werdenTharo wird schon bald berühmt werden

Tharo eine Nachricht über ICQ schicken
Standard

WAAAAAAAAAAAAAAAAAAHNSINN
__________________
Ney ney ney. So viel Sand und keine Förmchen
Tharo ist offline   Mit Zitat antworten
Alt 03.11.2004, 22:39   #3
 
Benutzerbild von plex
 
Registriert seit: 10.10.2004

plex ist jedem bekanntplex ist jedem bekanntplex ist jedem bekanntplex ist jedem bekanntplex ist jedem bekanntplex ist jedem bekanntplex ist jedem bekanntplex ist jedem bekannt

plex eine Nachricht über ICQ schicken
Standard

Hi Vertex,

habe das schon im Blitz-Forum gelesen.
Wirklich eine beachtliche Arbeit und ich bin schon gespannt, wann die Sprache fertig entwickelt wird.
Aber ich frage mich, was dich gerade zum Pokémon Mini getrieben hat.
plex ist offline   Mit Zitat antworten
Antwort

  portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Nintendo Handheld Entwicklung? Sebe Development Abteilung 12 27.03.2008 13:37
Entwicklung Ninian/Nils Masters Fire Emblem (GBA) 3 18.11.2005 13:29
spiele entwicklung für gameboyadvance maxquiere Spiele (GBA) 11 08.07.2005 22:55


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:46 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0
Template-Modifikationen durch TMS
PortableGaming.de © bk 2000 - 2010

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231