|
|
|
||||
Parseroutinen ab Version 1.03:
Die folgende Beschreibung bezieht sich auf den vollständig implementierten Parser
(Version 1.05), der sich von seinen Vorgängerversionen auf Grund von Weiterentwicklungen
leicht unterscheidet. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ParseFeld-Deskriptor | := | '"' Datenbeschreibung ',' Datenformat ( Repeat-Indikator ) '"' |
| Datenbeschreibung | := | String |
| String | := | Zeichen { Zeichen } |
| Zeichen | := | ASCII-Symbol |
| Datenformat | := |
Charformat | Boolformat | Stringformat | Zahlformat | Hexformat | Kompaßformat | 'T' | 'D' | 'A' | 'O' | 'E' | 'N' | '-' |
| Charformat | := | 'C' [
'D' |
'R' | 'T' | 'L' | 'C' | '(' Zeichen2 '=' String2 ')' '(' Zeichen2 '=' String2 ')' ] |
| Boolformat | := | 'B' [ '(' String2 ')' '(' String2 ')' ] |
| Stringformat | := | String [ '(' Zahl ')' ] |
| Zahlformat | := | 'X' [ '(' [ '0' ] Zahl ')' ][ Einheitenformat ] |
| Hexformat | := | Hexzahl [ '(' Zahl ')' ] |
| Kompaßformat | := | 'M' [ 'M' | 'T' | 't' | 'm' ] |
| Einheitenformat | := | '[' Einheitengruppe '=' Einheitenzeichen ']' |
| Einheitengruppe | := | 'D' | 'V' | 'T' | 'U' | 'K' | 'P' | 'v' | 'F' | 'S' | 'H' | 'R' |
| Einheitenzeichen | := |
'B' |
'C' |
'D' |
'F' |
'f' |
'H' |
'h' |
'I' | 'i' | 'j' | 'K' | 'k' | 'l' | 'M' | 'm' | 'N' | 'P' | 'S' | 's' | 'R' | '#' | '*' | Zahl |
| Zahl | := | Ziffer { Ziffer } |
| Hexzahl | := | Hexziffer { Hexziffer } |
| Ziffer | := | '0' | '1' | ... | '9' |
| Hexziffer | := | Ziffer | 'A' | ... | 'F' |
| String2 | := | Zeichen2 { Zeichen2 } |
| Zeichen2 | := | ASCII-Symbol \ Syntaxsymbol |
| Syntaxsymbol | := | ',' | '(' | ')' |
| Repeat-Indikator | := | '*' |
Achtung ! Parsefeld ist nicht das gleiche, wie Datenfeld. Ein Parsefeld kann unter Umständen
auch zwei aufeinanderfolgende Datenfelder beinhalten (oder sogar Wiederholungen von Datenfeldern beschreiben).
Beispiel:
| $--RMC | hhmmss.ss | A | llll.ll | N|S | yyyyy.yy | E|W | x.x | x.x | xxxx | x.x | E|W |
| Datenfelder | UTC time | status | latitude | latitude direction | longitude | longitude direction | speed | track | date | magnetic variation | magnetic variation |
| Parsefelder | UTC time | status | latitude | longitude | speed | track | date | magnetic variation |
|||
| Name | Schwerpunkt | eMail/WWW |
| Torsten Baumbach | Organisation, Allgemeine Programmierung (System/Oberfläche) |
|
| Wolfram Müller (+) | Programmierung | leider verschieden |
| UID Name | KUidTorstenBaumbach |
| UID | 268456758 (10005336 hex) |
17.12.2007,