diff options
author | KT <tran0563@umn.edu> | 2021-10-19 14:03:28 -0500 |
---|---|---|
committer | KT <tran0563@umn.edu> | 2021-10-19 14:03:28 -0500 |
commit | 12b0b74d43b7d93eee82ae6fa3dced499cd8a1f6 (patch) | |
tree | 8e89330e51de3aa45ad3fafc57dc14eb5e1786e2 /dev/a4-dance/simple_parser.h | |
parent | Publish a3 (diff) | |
download | csci4611-12b0b74d43b7d93eee82ae6fa3dced499cd8a1f6.tar csci4611-12b0b74d43b7d93eee82ae6fa3dced499cd8a1f6.tar.gz csci4611-12b0b74d43b7d93eee82ae6fa3dced499cd8a1f6.tar.bz2 csci4611-12b0b74d43b7d93eee82ae6fa3dced499cd8a1f6.tar.lz csci4611-12b0b74d43b7d93eee82ae6fa3dced499cd8a1f6.tar.xz csci4611-12b0b74d43b7d93eee82ae6fa3dced499cd8a1f6.tar.zst csci4611-12b0b74d43b7d93eee82ae6fa3dced499cd8a1f6.zip |
Publish a4
Diffstat (limited to '')
-rw-r--r-- | dev/a4-dance/simple_parser.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/dev/a4-dance/simple_parser.h b/dev/a4-dance/simple_parser.h new file mode 100644 index 0000000..b077b43 --- /dev/null +++ b/dev/a4-dance/simple_parser.h @@ -0,0 +1,42 @@ +#ifndef SIMPLE_PARSER_H_ +#define SIMPLE_PARSER_H_ + +#include <fstream> +#include <string> + +/** Helper class for parsing text input. */ +class SimpleParser { +public: + SimpleParser(std::istream *i); + + bool Expect(std::string s); + + bool Peek(std::string s); + + void SwallowWhitespace(); + + void SwallowLine(); + + bool ReadFloat(float &f); + + bool ReadInt(int &i); + + bool ReadToken(std::string &s); + + bool Good(); + + bool ReadLine(std::string &line); + + bool UpcomingInt(); + +protected: + bool FloatChar(char c); + + bool IntChar(char c); + + bool TokenChar(char c); + + std::istream *in_; +}; + +#endif |