Look for a LOGO (.LGO) file on the mbed and run the commands in it. Only supports a small subset of the LOGO commands.

Dependencies:   mbed

Committer:
nbbhav
Date:
Sat Apr 09 18:06:27 2011 +0000
Revision:
0:864f6ee5169b
Initial version supporting FORWARD, BACK, LEFT and RIGHT commands.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nbbhav 0:864f6ee5169b 1 /*
nbbhav 0:864f6ee5169b 2 * Source file tokenization
nbbhav 0:864f6ee5169b 3 */
nbbhav 0:864f6ee5169b 4
nbbhav 0:864f6ee5169b 5 enum TokenType {
nbbhav 0:864f6ee5169b 6 UNKNOWN,
nbbhav 0:864f6ee5169b 7 WORD,
nbbhav 0:864f6ee5169b 8 INTEGER,
nbbhav 0:864f6ee5169b 9 EOL
nbbhav 0:864f6ee5169b 10 };
nbbhav 0:864f6ee5169b 11
nbbhav 0:864f6ee5169b 12 struct Token
nbbhav 0:864f6ee5169b 13 {
nbbhav 0:864f6ee5169b 14 Token();
nbbhav 0:864f6ee5169b 15 ~Token();
nbbhav 0:864f6ee5169b 16
nbbhav 0:864f6ee5169b 17 TokenType getType() const { return type_; }
nbbhav 0:864f6ee5169b 18 bool isValid() const { return type_ != UNKNOWN; }
nbbhav 0:864f6ee5169b 19
nbbhav 0:864f6ee5169b 20 bool isWord() const { return type_ == WORD; }
nbbhav 0:864f6ee5169b 21 bool isInteger() const { return type_ == INTEGER; }
nbbhav 0:864f6ee5169b 22 bool isEOL() const { return type_ == EOL; }
nbbhav 0:864f6ee5169b 23
nbbhav 0:864f6ee5169b 24 const char* getWord() const;
nbbhav 0:864f6ee5169b 25 int getInteger() const;
nbbhav 0:864f6ee5169b 26
nbbhav 0:864f6ee5169b 27 static void get_token(Token* token, const char* str, int* pos);
nbbhav 0:864f6ee5169b 28
nbbhav 0:864f6ee5169b 29 private:
nbbhav 0:864f6ee5169b 30 TokenType type_;
nbbhav 0:864f6ee5169b 31 union {
nbbhav 0:864f6ee5169b 32 char* word;
nbbhav 0:864f6ee5169b 33 int value;
nbbhav 0:864f6ee5169b 34 } u;
nbbhav 0:864f6ee5169b 35 };
nbbhav 0:864f6ee5169b 36
nbbhav 0:864f6ee5169b 37 inline void get_token(Token* token, const char* str, int* pos) {
nbbhav 0:864f6ee5169b 38 Token::get_token(token, str, pos);
nbbhav 0:864f6ee5169b 39 }