#include "xfa/fxfa/formcalc/cxfa_fmlexer.h"
#include <algorithm>
#include "core/fxcrt/compiler_specific.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/stl_util.h"
namespace {
bool IsFormCalcCharacter(wchar_t c) { … }
bool IsIdentifierCharacter(wchar_t c) { … }
bool IsInitialIdentifierCharacter(wchar_t c) { … }
bool IsWhitespaceCharacter(wchar_t c) { … }
struct XFA_FMKeyword { … };
const XFA_FMKeyword kKeyWords[] = …;
#ifndef NDEBUG
constexpr auto kTokenStrings = …;
#endif
XFA_FM_TOKEN TokenizeIdentifier(WideStringView str) { … }
}
CXFA_FMLexer::Token::Token() = default;
CXFA_FMLexer::Token::Token(XFA_FM_TOKEN token) : … { … }
CXFA_FMLexer::Token::Token(XFA_FM_TOKEN token, WideStringView str)
: … { … }
CXFA_FMLexer::Token::Token(const Token& that) = default;
CXFA_FMLexer::Token::~Token() = default;
#ifndef NDEBUG
WideString CXFA_FMLexer::Token::ToDebugString() const { … }
#endif
CXFA_FMLexer::CXFA_FMLexer(WideStringView wsFormCalc)
: … { … }
CXFA_FMLexer::~CXFA_FMLexer() = default;
CXFA_FMLexer::Token CXFA_FMLexer::NextToken() { … }
CXFA_FMLexer::Token CXFA_FMLexer::AdvanceForNumber() { … }
CXFA_FMLexer::Token CXFA_FMLexer::AdvanceForString() { … }
CXFA_FMLexer::Token CXFA_FMLexer::AdvanceForIdentifier() { … }
void CXFA_FMLexer::AdvanceForComment() { … }