diff options
Diffstat (limited to 'xfa/src/fxfa/fm2js/xfa_lexer.h')
-rw-r--r-- | xfa/src/fxfa/fm2js/xfa_lexer.h | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/xfa/src/fxfa/fm2js/xfa_lexer.h b/xfa/src/fxfa/fm2js/xfa_lexer.h deleted file mode 100644 index f45f639e38..0000000000 --- a/xfa/src/fxfa/fm2js/xfa_lexer.h +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright 2014 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#ifndef XFA_SRC_FXFA_FM2JS_XFA_LEXER_H_ -#define XFA_SRC_FXFA_FM2JS_XFA_LEXER_H_ - -#include <memory> - -#include "core/include/fxcrt/fx_string.h" -#include "xfa/src/fxfa/fm2js/xfa_error.h" - -enum XFA_FM_TOKEN { - TOKand, - TOKlparen, - TOKrparen, - TOKmul, - TOKplus, - TOKcomma, - TOKminus, - TOKdot, - TOKdiv, - TOKlt, - TOKassign, - TOKgt, - TOKlbracket, - TOKrbracket, - TOKor, - TOKdotscream, - TOKdotstar, - TOKdotdot, - TOKle, - TOKne, - TOKeq, - TOKge, - TOKdo, - TOKkseq, - TOKksge, - TOKksgt, - TOKif, - TOKin, - TOKksle, - TOKkslt, - TOKksne, - TOKksor, - TOKnull, - TOKbreak, - TOKksand, - TOKend, - TOKeof, - TOKfor, - TOKnan, - TOKksnot, - TOKvar, - TOKthen, - TOKelse, - TOKexit, - TOKdownto, - TOKreturn, - TOKinfinity, - TOKendwhile, - TOKforeach, - TOKendfunc, - TOKelseif, - TOKwhile, - TOKendfor, - TOKthrow, - TOKstep, - TOKupto, - TOKcontinue, - TOKfunc, - TOKendif, - TOKstar, - TOKidentifier, - TOKunderscore, - TOKdollar, - TOKexclamation, - TOKcall, - TOKstring, - TOKnumber, - TOKreserver -}; - -struct XFA_FMKeyword { - XFA_FM_TOKEN m_type; - uint32_t m_uHash; - const FX_WCHAR* m_keyword; -}; - -const FX_WCHAR* XFA_FM_KeywordToString(XFA_FM_TOKEN op); - -class CXFA_FMToken { - public: - CXFA_FMToken(); - explicit CXFA_FMToken(FX_DWORD uLineNum); - - CFX_WideStringC m_wstring; - XFA_FM_TOKEN m_type; - FX_DWORD m_uLinenum; -}; - -class CXFA_FMLexer { - public: - CXFA_FMLexer(const CFX_WideStringC& wsFormcalc, CXFA_FMErrorInfo* pErrorInfo); - CXFA_FMToken* NextToken(); - FX_DWORD Number(CXFA_FMToken* t, const FX_WCHAR* p, const FX_WCHAR*& pEnd); - FX_DWORD String(CXFA_FMToken* t, const FX_WCHAR* p, const FX_WCHAR*& pEnd); - FX_DWORD Identifiers(CXFA_FMToken* t, - const FX_WCHAR* p, - const FX_WCHAR*& pEnd); - void Comment(const FX_WCHAR* p, const FX_WCHAR*& pEnd); - XFA_FM_TOKEN IsKeyword(const CFX_WideStringC& p); - void SetCurrentLine(FX_DWORD line) { m_uCurrentLine = line; } - void SetToken(CXFA_FMToken* pToken) { - if (m_pToken.get() != pToken) - m_pToken.reset(pToken); - } - const FX_WCHAR* SavePos() { return m_ptr; } - void RestorePos(const FX_WCHAR* pPos) { m_ptr = pPos; } - void Error(XFA_FM_ERRMSG msg, ...); - FX_BOOL HasError() const; - - protected: - CXFA_FMToken* Scan(); - - const FX_WCHAR* m_ptr; - FX_DWORD m_uCurrentLine; - std::unique_ptr<CXFA_FMToken> m_pToken; - CXFA_FMErrorInfo* m_pErrorInfo; -}; - -#endif // XFA_SRC_FXFA_FM2JS_XFA_LEXER_H_ |