From 2e9d47ac2c9a4ebf0821d10c766fafa85e6d3cb9 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 16 May 2017 15:14:02 -0400 Subject: Rename formcalc files to better match contents MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Most files match the contents. The expression files are named to match their base type even though they contain all the expression subclasses. Change-Id: I3b7705c7b206a9fa1afae8b677f765e8b788e84d Reviewed-on: https://pdfium-review.googlesource.com/5492 Commit-Queue: dsinclair Reviewed-by: Nicolás Peña Reviewed-by: Tom Sepez --- xfa/fxfa/fm2js/cxfa_fmparse.h | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 xfa/fxfa/fm2js/cxfa_fmparse.h (limited to 'xfa/fxfa/fm2js/cxfa_fmparse.h') diff --git a/xfa/fxfa/fm2js/cxfa_fmparse.h b/xfa/fxfa/fm2js/cxfa_fmparse.h new file mode 100644 index 0000000000..43a4450128 --- /dev/null +++ b/xfa/fxfa/fm2js/cxfa_fmparse.h @@ -0,0 +1,58 @@ +// 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_CXFA_FMPARSE_H_ +#define XFA_FXFA_FM2JS_CXFA_FMPARSE_H_ + +#include +#include + +#include "xfa/fxfa/fm2js/cxfa_fmexpression.h" +#include "xfa/fxfa/fm2js/cxfa_fmlexer.h" + +class CXFA_FMParse { + public: + CXFA_FMParse(const CFX_WideStringC& wsFormcalc, CXFA_FMErrorInfo* pErrorInfo); + ~CXFA_FMParse(); + + void NextToken(); + std::vector> ParseTopExpression(); + + private: + void Check(XFA_FM_TOKEN op); + void Error(const wchar_t* msg, ...); + bool HasError() const; + std::unique_ptr ParseFunction(); + std::unique_ptr ParseExpression(); + std::unique_ptr ParseVarExpression(); + std::unique_ptr ParseExpExpression(); + std::unique_ptr ParseBlockExpression(); + std::unique_ptr ParseIfExpression(); + std::unique_ptr ParseWhileExpression(); + std::unique_ptr ParseForExpression(); + std::unique_ptr ParseForeachExpression(); + std::unique_ptr ParseDoExpression(); + std::unique_ptr ParseParenExpression(); + std::unique_ptr ParseSimpleExpression(); + std::unique_ptr ParseSubassignmentInForExpression(); + std::unique_ptr ParseLogicalOrExpression(); + std::unique_ptr ParseLogicalAndExpression(); + std::unique_ptr ParseEqualityExpression(); + std::unique_ptr ParseRelationalExpression(); + std::unique_ptr ParseAddtiveExpression(); + std::unique_ptr ParseMultiplicativeExpression(); + std::unique_ptr ParseUnaryExpression(); + std::unique_ptr ParsePrimaryExpression(); + std::unique_ptr ParsePostExpression( + std::unique_ptr e); + std::unique_ptr ParseIndexExpression(); + + std::unique_ptr m_lexer; + CXFA_FMToken* m_pToken; + CXFA_FMErrorInfo* const m_pErrorInfo; +}; + +#endif // XFA_FXFA_FM2JS_CXFA_FMPARSE_H_ -- cgit v1.2.3