KEY2Token.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /*
00003  * This file is part of the libetonyek project.
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this
00007  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
00008  */
00009 
00010 #ifndef KEY2TOKEN_H_INCLUDED
00011 #define KEY2TOKEN_H_INCLUDED
00012 
00013 #include <boost/static_assert.hpp>
00014 
00015 #include "IWORKTokenInfo.h"
00016 
00017 namespace libetonyek
00018 {
00019 
00020 class IWORKTokenizer;
00021 
00022 namespace KEY2Token
00023 {
00024 
00025 enum
00026 {
00027   INVALID_TOKEN = 0,
00028   FIRST_TOKEN = IWORKTokenInfo<KEY2Parser>::first,
00029 
00030   // namespace prefixes
00031   key,
00032 
00033   // elements
00034   authors,
00035   body_placeholder,
00036   c,
00037   comment,
00038   headlineParagraphStyle,
00039   keywords,
00040   master_slide,
00041   master_slides,
00042   metadata,
00043   notes,
00044   page,
00045   presentation,
00046   size,
00047   slide,
00048   slide_list,
00049   slide_style,
00050   sticky_note,
00051   sticky_notes,
00052   string,
00053   style_ref,
00054   stylesheet,
00055   text,
00056   theme,
00057   theme_list,
00058   title,
00059   title_placeholder,
00060 
00061   // attributes
00062   version,
00063 
00064   // attribute values
00065   COMPATIBLE_VERSION_STR_3,
00066   VERSION_STR_2,
00067   VERSION_STR_3,
00068   VERSION_STR_4,
00069   VERSION_STR_5,
00070   i,
00071 
00072   LAST_TOKEN
00073 };
00074 
00075 BOOST_STATIC_ASSERT(IWORKTokenInfo<KEY2Parser>::last >= LAST_TOKEN);
00076 
00077 enum Namespace
00078 {
00079   NS_URI_KEY = key << 16
00080 };
00081 
00082 const IWORKTokenizer &getTokenizer();
00083 
00084 }
00085 
00086 }
00087 
00088 #endif // KEY2TOKEN_H_INCLUDED
00089 
00090 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */