diff options
Diffstat (limited to 'src/core/utils/CSSParser.cpp')
-rw-r--r-- | src/core/utils/CSSParser.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/core/utils/CSSParser.cpp b/src/core/utils/CSSParser.cpp index 6ac98fa..e66eb34 100644 --- a/src/core/utils/CSSParser.cpp +++ b/src/core/utils/CSSParser.cpp @@ -16,11 +16,40 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include "BufferedCharReader.hpp" +#include "Tokenizer.hpp" + #include "CSSParser.hpp" namespace ousia { namespace utils { +static const int CURLY_OPEN = 1; +static const int CURLY_CLOSE = 2; +static const int COLON = 3; +static const int SEMICOLON = 4; +static const int HASH = 5; +static const int BRACKET_OPEN = 6; +static const int BRACKET_CLOSE = 7; +static const int COMMENT_OPEN = 8; +static const int COMMENT_CLOSE = 9; + +static const TokenTreeNode CSS_ROOT{{{"{", CURLY_OPEN}, + {"}", CURLY_CLOSE}, + {":", COLON}, + {";", SEMICOLON}, + {"#", HASH}, + {"[", BRACKET_OPEN}, + {"]", BRACKET_CLOSE}, + {"/*", COMMENT_OPEN}, + {"*/", COMMENT_CLOSE}}}; + +StyleNode CSSParser::parse(BufferedCharReader &input) { + Tokenizer tokenizer {input, CSS_ROOT}; + //TODO: implement + +} + } |