summaryrefslogtreecommitdiff
path: root/xfa/fxfa/fm2js/xfa_lexer.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/fm2js/xfa_lexer.h')
-rw-r--r--xfa/fxfa/fm2js/xfa_lexer.h137
1 files changed, 0 insertions, 137 deletions
diff --git a/xfa/fxfa/fm2js/xfa_lexer.h b/xfa/fxfa/fm2js/xfa_lexer.h
deleted file mode 100644
index 7de76d7a62..0000000000
--- a/xfa/fxfa/fm2js/xfa_lexer.h
+++ /dev/null
@@ -1,137 +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_FXFA_FM2JS_XFA_LEXER_H_
-#define XFA_FXFA_FM2JS_XFA_LEXER_H_
-
-#include <memory>
-#include <utility>
-
-#include "core/fxcrt/fx_string.h"
-#include "xfa/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 wchar_t* m_keyword;
-};
-
-const wchar_t* XFA_FM_KeywordToString(XFA_FM_TOKEN op);
-
-class CXFA_FMToken {
- public:
- CXFA_FMToken();
- explicit CXFA_FMToken(uint32_t uLineNum);
-
- CFX_WideStringC m_wstring;
- XFA_FM_TOKEN m_type;
- uint32_t m_uLinenum;
-};
-
-class CXFA_FMLexer {
- public:
- CXFA_FMLexer(const CFX_WideStringC& wsFormcalc, CXFA_FMErrorInfo* pErrorInfo);
- ~CXFA_FMLexer();
-
- CXFA_FMToken* NextToken();
- bool HasError() const;
-
- void SetCurrentLine(uint32_t line) { m_uCurrentLine = line; }
- void SetToken(std::unique_ptr<CXFA_FMToken> pToken) {
- m_pToken = std::move(pToken);
- }
-
- const wchar_t* GetPos() { return m_ptr; }
- void SetPos(const wchar_t* pPos) { m_ptr = pPos; }
-
- private:
- const wchar_t* Number(CXFA_FMToken* t, const wchar_t* p);
- const wchar_t* String(CXFA_FMToken* t, const wchar_t* p);
- const wchar_t* Identifiers(CXFA_FMToken* t, const wchar_t* p);
- const wchar_t* Comment(const wchar_t* p);
- XFA_FM_TOKEN IsKeyword(const CFX_WideStringC& p);
- void Error(const wchar_t* msg, ...);
- std::unique_ptr<CXFA_FMToken> Scan();
-
- const wchar_t* m_ptr;
- const wchar_t* const m_end;
- uint32_t m_uCurrentLine;
- std::unique_ptr<CXFA_FMToken> m_pToken;
- CXFA_FMErrorInfo* m_pErrorInfo;
-};
-
-#endif // XFA_FXFA_FM2JS_XFA_LEXER_H_