kde-extraapps/kdevelop/projectmanagers/cmake/parser/cmListFileLexer.h
2015-07-26 14:23:17 +03:00

66 lines
2.2 KiB
C

/*=========================================================================
Program: CMake - Cross-Platform Makefile Generator
Module: $RCSfile: cmListFileLexer.h,v $
Language: C++
Date: $Date: 2004/08/31 22:39:42 $
Version: $Revision: 1.3 $
Copyright 2002 Kitware, Inc., Insight Consortium. All rights reserved.
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef cmListFileLexer_h
#define cmListFileLexer_h
#include "../cmakeexport.h"
typedef enum cmListFileLexer_Type_e
{
cmListFileLexer_Token_None,
cmListFileLexer_Token_Newline,
cmListFileLexer_Token_Identifier,
cmListFileLexer_Token_ParenLeft,
cmListFileLexer_Token_ParenRight,
cmListFileLexer_Token_ArgumentUnquoted,
cmListFileLexer_Token_ArgumentQuoted,
cmListFileLexer_Token_BadCharacter,
cmListFileLexer_Token_BadString
} cmListFileLexer_Type;
typedef struct cmListFileLexer_Token_s cmListFileLexer_Token;
struct cmListFileLexer_Token_s
{
cmListFileLexer_Type type;
char* text;
int length;
int line;
int column;
};
typedef struct cmListFileLexer_s cmListFileLexer;
#ifdef __cplusplus
extern "C"
{
#endif
KDEVCMAKECOMMON_EXPORT cmListFileLexer* cmListFileLexer_New();
KDEVCMAKECOMMON_EXPORT int cmListFileLexer_SetFileName(cmListFileLexer*, const char*);
KDEVCMAKECOMMON_EXPORT int cmListFileLexer_SetString(cmListFileLexer*, const char*);
KDEVCMAKECOMMON_EXPORT cmListFileLexer_Token* cmListFileLexer_Scan(cmListFileLexer*);
KDEVCMAKECOMMON_EXPORT long cmListFileLexer_GetCurrentLine(cmListFileLexer*);
KDEVCMAKECOMMON_EXPORT long cmListFileLexer_GetCurrentColumn(cmListFileLexer*);
KDEVCMAKECOMMON_EXPORT const char* cmListFileLexer_GetTypeAsString(cmListFileLexer*,
cmListFileLexer_Type);
KDEVCMAKECOMMON_EXPORT void cmListFileLexer_Delete(cmListFileLexer*);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif