summaryrefslogtreecommitdiff
path: root/xfa/src/fxfa/fm2js/xfa_lexer.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/src/fxfa/fm2js/xfa_lexer.h')
-rw-r--r--xfa/src/fxfa/fm2js/xfa_lexer.h134
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_