Showing preview only (4,593K chars total). Download the full file or copy to clipboard to get everything.
Repository: spreadsheetlab/XLParser
Branch: master
Commit: 8b7d1c684b37
Files: 177
Total size: 25.9 MB
Directory structure:
gitextract_hbenmd2r/
├── .gitattributes
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── app/
│ ├── XLParser apps.sln
│ ├── XLParser.Web/
│ │ ├── .gitignore
│ │ ├── Default.aspx
│ │ ├── Default.aspx.cs
│ │ ├── Default.aspx.designer.cs
│ │ ├── Parse.cs
│ │ ├── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── Resources/
│ │ │ ├── ExcelBuiltinFunctionList-v120.txt
│ │ │ ├── ExcelBuiltinFunctionList-v139.txt
│ │ │ ├── ExcelBuiltinFunctionList-v141.txt
│ │ │ ├── ExcelBuiltinFunctionList-v142.txt
│ │ │ ├── ExcelBuiltinFunctionList-v150.txt
│ │ │ ├── ExcelBuiltinFunctionList-v151.txt
│ │ │ ├── ExcelBuiltinFunctionList-v152.txt
│ │ │ ├── ExcelBuiltinFunctionList-v160.txt
│ │ │ ├── ExcelBuiltinFunctionList-v161.txt
│ │ │ ├── ExcelBuiltinFunctionList-v162.txt
│ │ │ ├── ExcelBuiltinFunctionList-v163.txt
│ │ │ ├── ExcelBuiltinFunctionList-v170.txt
│ │ │ ├── ExcelBuiltinFunctionList-v171.txt
│ │ │ ├── ExcelBuiltinFunctionList-v172.txt
│ │ │ ├── ExcelBuiltinFunctionList-v173.txt
│ │ │ ├── ExcelBuiltinFunctionList-v174.txt
│ │ │ └── ExcelBuiltinFunctionList-v175.txt
│ │ ├── Web.Debug.config
│ │ ├── Web.Release.config
│ │ ├── Web.config
│ │ ├── XLParser Web.csproj
│ │ ├── XLParserVersions/
│ │ │ ├── v100/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ └── ExcelFormulaParser.cs
│ │ │ ├── v114/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ └── ExcelFormulaParser.cs
│ │ │ ├── v120/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v139/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v141/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v142/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v150/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v151/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v152/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v160/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v161/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v162/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v163/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v170/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v171/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v172/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v173/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v174/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ └── v175/
│ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ ├── ExcelFormulaParser.cs
│ │ │ ├── ParserReference.cs
│ │ │ ├── PrefixInfo.cs
│ │ │ └── WordsTerminal.cs
│ │ ├── d3vizsvg.js
│ │ ├── packages.config
│ │ └── xlparser-web.css
│ └── lib/
│ └── .gitignore
├── doc/
│ ├── README.md
│ └── api/
│ ├── Doxyfile
│ └── README.MD
├── lib/
│ └── IronyExplorer/
│ ├── .gitignore
│ ├── IronyExplorer.sln
│ ├── LICENSE
│ ├── README.md
│ ├── libs/
│ │ └── FastColoredTextBox/
│ │ ├── FastColoredTextBox.XML
│ │ └── about.txt
│ └── src/
│ └── IronyExplorer.GrammarExplorer/
│ ├── App.config
│ ├── GrammarItemList.cs
│ ├── GrammarLoader.cs
│ ├── Highlighter/
│ │ ├── AboutCodeHighlighter.txt
│ │ ├── EditorAdapter.cs
│ │ ├── EditorViewAdapter.cs
│ │ ├── FastColoredTextBoxHighlighter.cs
│ │ ├── RichTextBoxHighlighter.cs
│ │ └── WavyLineStyle.cs
│ ├── IronyExplorer.GrammarExplorer.csproj
│ ├── Program.cs
│ ├── Properties/
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── fmGrammarExplorer.Designer.cs
│ ├── fmGrammarExplorer.cs
│ ├── fmGrammarExplorer.resx
│ ├── fmSelectGrammars.Designer.cs
│ ├── fmSelectGrammars.cs
│ ├── fmSelectGrammars.resx
│ ├── fmShowException.Designer.cs
│ ├── fmShowException.cs
│ ├── fmShowException.resx
│ └── packages.config
└── src/
├── XLParser/
│ ├── ExcelFormulaGrammar.cs
│ ├── ExcelFormulaParser.cs
│ ├── FormulaAnalyzer.cs
│ ├── ParserReference.cs
│ ├── PrefixInfo.cs
│ ├── Resources/
│ │ └── ExcelBuiltinFunctionList.txt
│ ├── WordsTerminal.cs
│ ├── XLParser.csproj
│ └── XLParser.nuspec
├── XLParser.Tests/
│ ├── DatasetTests.cs
│ ├── FormulaAnalysisTest.cs
│ ├── ParserTests.cs
│ ├── PrefixInfoTests.cs
│ ├── PrintTests.cs
│ ├── WordsTerminalTests.cs
│ ├── XLParser.Tests.csproj
│ └── data/
│ ├── enron/
│ │ ├── formulas.txt
│ │ └── knownfails.txt
│ ├── euses/
│ │ ├── formulas.txt
│ │ └── knownfails.txt
│ └── testformulas/
│ ├── structured_references.txt
│ └── user_contributed.txt
├── XLParser.sln
└── signing.snk
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
*.cs eol=crlf
*.fs eol=crlf
*.rc eol=crlf
*.vcproj eol=crlf
*.sln eol=crlf
*.nuspec eol=crlf
*.config eol=crlf
*.md eol=lf
*.html eol=lf
*.css eol=lf
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain
================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
# Visual Studo 2015 cache/options directory
.vs/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding addin-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# Windows Azure Build Output
csx/
*.build.csdef
# Windows Store app package directory
AppPackages/
# Others
*.[Cc]ache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Private file
/nuget-sign.bat
================================================
FILE: CHANGELOG.md
================================================
# Changelog
<!--*Changes which are in this source code, but not yet in a release*:-->
## 1.3.0
* Build for .NET 4.5.2, 4.6.1 and standard 1.6, thanks [igitur](https://github.com/spreadsheetlab/XLParser/pull/61).
* Remove embedded Irony dependency in favor of [daxnet](https://github.com/daxnet)s [updated fork](https://github.com/daxnet/irony).
## 1.2.4
Reference implementation of the Excel grammar published in the Journal of Systems and Software SCAM special issue paper "A Grammar for Spreadsheet Formulas Evaluated on Two Large Datasets" by E. Aivaloglou, D. Hoepelman and F. Hermans.
* Fixed several errors in which names/named ranges were allowed
* Question marks are now allowed
* Can now start with all unicode letters (e.g. `=äbc`)
* Corrected characters which are allowed if the name starts with a cell name or TRUE/FALSE (e.g. `=A1.MYNAME`)
* Allow for whitespace-only sheetnames (e.g. `=' '!A1`), altough they will always be returned as `" "` by `PrefixInfo`
* Made some corrections in how multiple sheet references (`=Sheet1:Sheet3!A1`) are parsed
* Removed escape sequences in strings (e.g. `"Line1\nLine2"`) as these are not part of the Excel formula language
* Added support for structured references to a complete table (e.g. `=MyTable[]`)
## 1.2.3
* Adds support for special characters in structured references.
## 1.2.2
* Adds equality to `PrefixInfo` class
* Fixes parse error if external reference file path contains a space (`='C:\My Dir\[file.xlsx]Sheet'!A1`)
* `ExcelFormulaParser.SkipToRelevant` no longer skips references without a prefix.
<br> This is a breaking change, but the old behavior is arguably a bug. An argument is added to restore old behavior, defaults to new behavior.
## 1.2.1
* Adds `GetReferenceNodes` method to `ExcelFormulaParser`
## 1.2
Fixes [#16](https://github.com/PerfectXL/XLParser/issues/16), [#17](https://github.com/PerfectXL/XLParser/issues/17), [#19](https://github.com/PerfectXL/XLParser/issues/3)
* Made it easier to modify the grammar in your own class by extending the grammar class
* Can now parse non-numeric filenames (`=[file]Sheet!A1`)
* Parsing of the `Prefix` nonterminal is changed and is now a little bit more uniform. `ExcelFormulaParser.GetPrefixInfo` gives prefix information in an easy to use format.
* Can now parse [Structured References](https://support.office.com/en-us/article/Using-structured-references-with-Excel-tables-f5ed2452-2337-4f71-bed3-c8ae6d2b276e). See [#16](https://github.com/PerfectXL/XLParser/issues/16) for caveats.
* You can now select the XLParser version to use in the web demo
## 1.1.4
* Added some missing methods that test for specific types of operators
* Added tests and fixes if necessary for methods that were missing tests
## 1.1.3
Reference implementation of the Excel grammar published in the paper "A Grammar for Spreadsheet Formulas Evaluated on Two Large Datasets" by E. Aivaloglou, D. Hoepelman and F. Hermans.
* Added all formulas from EUSES and Enron datasets and tests to check if they all parse
* Made parser thread safe
* Fixed [#9](https://github.com/PerfectXL/XLParser/issues/9): some tokens which would not accept all unicode characters (like UDF) now do so
* `'Sheet1:Sheet5'` will now correctly parse as `MULTIPLESHEETS` instead of a single sheet
## 1.1.2
Fixed [#1](https://github.com/PerfectXL/XLParser/issues/1), [#2](https://github.com/PerfectXL/XLParser/issues/2), [#4](https://github.com/PerfectXL/XLParser/issues/4).
* Added a web demo in app/XLParser.Web which generates parse tree images
* All UDF's now use the same nonterminal
* Non-Prefixed UDFs can now be part of a reference expression
* IF and CHOOSE functions can now be part of a reference expression
* Reference functions INDEX,OFFSET and INDIRECT can no longer have a prefix
* Operator precedence for reference operators (: , and intersection) is now correct
* Fixed printing of reference operators
## 1.0.0
First public release.
Corresponds to pre-print/reviewer version of the paper
================================================
FILE: LICENSE.md
================================================
Mozilla Public License, version 2.0
1. Definitions
1.1. "Contributor"
means each individual or legal entity that creates, contributes to the
creation of, or owns Covered Software.
1.2. "Contributor Version"
means the combination of the Contributions of others (if any) used by a
Contributor and that particular Contributor's Contribution.
1.3. "Contribution"
means Covered Software of a particular Contributor.
1.4. "Covered Software"
means Source Code Form to which the initial Contributor has attached the
notice in Exhibit A, the Executable Form of such Source Code Form, and
Modifications of such Source Code Form, in each case including portions
thereof.
1.5. "Incompatible With Secondary Licenses"
means
a. that the initial Contributor has attached the notice described in
Exhibit B to the Covered Software; or
b. that the Covered Software was made available under the terms of
version 1.1 or earlier of the License, but not also under the terms of
a Secondary License.
1.6. "Executable Form"
means any form of the work other than Source Code Form.
1.7. "Larger Work"
means a work that combines Covered Software with other material, in a
separate file or files, that is not Covered Software.
1.8. "License"
means this document.
1.9. "Licensable"
means having the right to grant, to the maximum extent possible, whether
at the time of the initial grant or subsequently, any and all of the
rights conveyed by this License.
1.10. "Modifications"
means any of the following:
a. any file in Source Code Form that results from an addition to,
deletion from, or modification of the contents of Covered Software; or
b. any new file in Source Code Form that contains any Covered Software.
1.11. "Patent Claims" of a Contributor
means any patent claim(s), including without limitation, method,
process, and apparatus claims, in any patent Licensable by such
Contributor that would be infringed, but for the grant of the License,
by the making, using, selling, offering for sale, having made, import,
or transfer of either its Contributions or its Contributor Version.
1.12. "Secondary License"
means either the GNU General Public License, Version 2.0, the GNU Lesser
General Public License, Version 2.1, the GNU Affero General Public
License, Version 3.0, or any later versions of those licenses.
1.13. "Source Code Form"
means the form of the work preferred for making modifications.
1.14. "You" (or "Your")
means an individual or a legal entity exercising rights under this
License. For legal entities, "You" includes any entity that controls, is
controlled by, or is under common control with You. For purposes of this
definition, "control" means (a) the power, direct or indirect, to cause
the direction or management of such entity, whether by contract or
otherwise, or (b) ownership of more than fifty percent (50%) of the
outstanding shares or beneficial ownership of such entity.
2. License Grants and Conditions
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
a. under intellectual property rights (other than patent or trademark)
Licensable by such Contributor to use, reproduce, make available,
modify, display, perform, distribute, and otherwise exploit its
Contributions, either on an unmodified basis, with Modifications, or
as part of a Larger Work; and
b. under Patent Claims of such Contributor to make, use, sell, offer for
sale, have made, import, and otherwise transfer either its
Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:
a. for any code that a Contributor has removed from Covered Software; or
b. for infringements caused by: (i) Your and any other third party's
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
c. under Patent Claims infringed by Covered Software in the absence of
its Contributions.
This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights to
grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
Section 2.1.
3. Responsibilities
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
a. such Covered Software must also be made available in Source Code Form,
as described in Section 3.1, and You must inform recipients of the
Executable Form how they can obtain a copy of such Source Code Form by
reasonable means in a timely manner, at a charge no more than the cost
of distribution to the recipient; and
b. You may distribute such Executable Form under the terms of this
License, or sublicense it under different terms, provided that the
license for the Executable Form does not attempt to limit or alter the
recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).
3.4. Notices
You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty, or
limitations of liability) contained within the Source Code Form of the
Covered Software, except that You may alter any license notices to the
extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
4. Inability to Comply Due to Statute or Regulation
If it is impossible for You to comply with any of the terms of this License
with respect to some or all of the Covered Software due to statute,
judicial order, or regulation then You must: (a) comply with the terms of
this License to the maximum extent possible; and (b) describe the
limitations and the code they affect. Such description must be placed in a
text file included with all distributions of the Covered Software under
this License. Except to the extent prohibited by statute or regulation,
such description must be sufficiently detailed for a recipient of ordinary
skill to be able to understand it.
5. Termination
5.1. The rights granted under this License will terminate automatically if You
fail to comply with any of its terms. However, if You become compliant,
then the rights granted under this License from a particular Contributor
are reinstated (a) provisionally, unless and until such Contributor
explicitly and finally terminates Your grants, and (b) on an ongoing
basis, if such Contributor fails to notify You of the non-compliance by
some reasonable means prior to 60 days after You have come back into
compliance. Moreover, Your grants from a particular Contributor are
reinstated on an ongoing basis if such Contributor notifies You of the
non-compliance by some reasonable means, this is the first time You have
received notice of non-compliance with this License from such
Contributor, and You become compliant prior to 30 days after Your receipt
of the notice.
5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
license agreements (excluding distributors and resellers) which have been
validly granted by You or Your distributors under this License prior to
termination shall survive termination.
6. Disclaimer of Warranty
Covered Software is provided under this License on an "as is" basis,
without warranty of any kind, either expressed, implied, or statutory,
including, without limitation, warranties that the Covered Software is free
of defects, merchantable, fit for a particular purpose or non-infringing.
The entire risk as to the quality and performance of the Covered Software
is with You. Should any Covered Software prove defective in any respect,
You (not any Contributor) assume the cost of any necessary servicing,
repair, or correction. This disclaimer of warranty constitutes an essential
part of this License. No use of any Covered Software is authorized under
this License except under this disclaimer.
7. Limitation of Liability
Under no circumstances and under no legal theory, whether tort (including
negligence), contract, or otherwise, shall any Contributor, or anyone who
distributes Covered Software as permitted above, be liable to You for any
direct, indirect, special, incidental, or consequential damages of any
character including, without limitation, damages for lost profits, loss of
goodwill, work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses, even if such party shall have been
informed of the possibility of such damages. This limitation of liability
shall not apply to liability for death or personal injury resulting from
such party's negligence to the extent applicable law prohibits such
limitation. Some jurisdictions do not allow the exclusion or limitation of
incidental or consequential damages, so this exclusion and limitation may
not apply to You.
8. Litigation
Any litigation relating to this License may be brought only in the courts
of a jurisdiction where the defendant maintains its principal place of
business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions. Nothing
in this Section shall prevent a party's ability to bring cross-claims or
counter-claims.
9. Miscellaneous
This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides that
the language of a contract shall be construed against the drafter shall not
be used to construe this License against a Contributor.
10. Versions of the License
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses If You choose to distribute Source Code Form that is
Incompatible With Secondary Licenses under the terms of this version of
the License, the notice described in Exhibit B of this License must be
attached.
Exhibit A - Source Code Form License Notice
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
2.0. If a copy of the MPL was not
distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular file,
then You may include the notice in a location (such as a LICENSE file in a
relevant directory) where a recipient would be likely to look for such a
notice.
You may add additional accurate notices of copyright ownership.
================================================
FILE: README.md
================================================
# XLParser
A C# Excel formula parser with the following properties:
* **High compatiblity**<br/>
XLParser has been tested on over a million real-world formulas and has a 99.9% succesful parse rate.
* **Compact parse trees**<br/>
XLParser was designed for and is used in research of Excel spreadsheets and refactoring, all of which are easier if parse trees are smaller
* **Compact grammar**<br />
[Our grammar](https://github.com/PerfectXL/XLParser/blob/master/src/XLParser/ExcelFormulaGrammar.cs) contains less than 100 tokens and production rules, and is thus easy to implement in another language or parser generator.
### Quickstart
You can parse formulas and view parse trees in [the online demo](https://xlparser.perfectxl.nl/demo).
**or**
Use [the NuGet package](https://www.nuget.org/packages/XLParser/).
**or**
1. Download the [latest release](https://github.com/PerfectXL/XLParser/releases/latest)
2. Extract somewhere convenient
3. Build Irony GrammarExplorer, see the Debugging section below, and open it
4. Click on the `...` button at the top and select `Add Grammar`
5. Point to the `XLParser.dll` file in the folder you extracted and click ok
6. You can now parse formulas and see the trees in the `Test` tab
## Background
XLParser is the reference implementation of the Excel grammar published in the paper ["A Grammar for Spreadsheet Formulas Evaluated on Two Large Datasets" by Efthimia Aivaloglou, David Hoepelman and Felienne Hermans](https://fenia266781730.files.wordpress.com/2019/01/07335408.pdf).
XLParser can parse Excel formulas and is intended to facilitate the analysis of spreadsheet formulas, and for that purpose produces compact parse trees.
XLParser has a 99.99% success rate on the [Enron](http://www.felienne.com/archives/3634) and [EUSES](http://eusesconsortium.org/resources.php) datasets.
Note however that XLParser is not very restrictive, and thus might parse formulas that Excel would reject as invalid, keep this in mind when parsing user input with XLParser.
XLParser is based on the C# [Irony parser framework](https://github.com/IronyProject/Irony).
## Using XLParser
### Building
Open the `XLParser.sln` file in `src/` in Visual Studio and press build. The dependencies are already included in compiled form in this repository.
### Using in your project
The easiest way to add the dependency to your project is with [NuGet](https://www.nuget.org/packages/XLParser/)
The `ExcelFormulaParser` class is your main entry point. You can parse a formula through `ExcelFormulaParser.Parse("yourformula")`.
`ExcelFormulaParser` has several useful methods that operate directly on the parse tree like `AllNodes` to traverse the whole tree or `GetFunction` to get the function name of a node that represents a function call. You can `Print` any node.
`FormulaAnalyzer` provides functionality for analyzing the parse tree. For example, `FormulaAnalyzer.ParserReferences()` returns all references (to cells, cell ranges, named ranges, horizontal or vertical ranges) that the formula contains.
### Debugging
Irony, the parser framework XLParser uses, includes a tool called the "grammar explorer". This is a great way to play around with the grammar and parse trees.
To use this tool, you first need to build it once by opening the IronyExplorer solution (`lib/IronyExplorer/IronyExplorer.sln`) and building it with release configuration. After that you can use the binary in `lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/bin/Release/IronyExplorer.GrammarExplorer.exe`.
To load the XLParser grammar, first make sure you have built XLParser. Then open the GrammarExplorer and add the grammar (`...` button) from `src/XLParser/bin/Debug/XLParser.dll`.
In Visual Studio you can see the printed version of any node during debugging by adding `yournode.Print(),ac` in the watch window.
## Documentation
Browse the [API documentation](http://spreadsheetlab.github.io/XLParser/api/index.html)
See [the doc folder](doc) for further documentation.
## License
All files of XLParser are released under the [Mozilla Public License 2.0](License.md).
================================================
FILE: app/XLParser apps.sln
================================================
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XLParser Web", "XLParser.Web\XLParser Web.csproj", "{A24BD58E-5958-4990-8836-958C52A6AA02}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A24BD58E-5958-4990-8836-958C52A6AA02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A24BD58E-5958-4990-8836-958C52A6AA02}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A24BD58E-5958-4990-8836-958C52A6AA02}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A24BD58E-5958-4990-8836-958C52A6AA02}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
================================================
FILE: app/XLParser.Web/.gitignore
================================================
deploy
================================================
FILE: app/XLParser.Web/Default.aspx
================================================
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XLParser.Web.Default" %>
<!DOCTYPE html>
<html>
<head runat="server">
<meta charset="utf-8"/>
<title>XLParser web demo</title>
<link rel="stylesheet" href="xlparser-web.css" type="text/css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="d3vizsvg.js" type="text/javascript" defer>
</script>
</head>
<body>
<div id="borderwrapper">
<div id="leftoflogos">
<h2><a href="https://github.com/PerfectXL/XLParser">XLParser</a> web demo</h2>
<table>
<colgroup>
<col/>
<col style="width: 100px;"/>
<col style="width: 100px;"/>
</colgroup>
<thead>
<tr>
<th style="text-align: left;">Formula:</th>
<th style="text-align: left;">Version:</th><th></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<textarea rows="1" id="formulainput"></textarea>
</td>
<td>
<select id="parserversionselected">
<option value="175" selected>1.7.5</option>
<option value="174">1.7.4</option>
<option value="173">1.7.3</option>
<option value="172">1.7.2</option>
<option value="171">1.7.1</option>
<option value="170">1.7.0</option>
<option value="163">1.6.3</option>
<option value="162">1.6.2</option>
<option value="161">1.6.1</option>
<option value="160">1.6.0</option>
<option value="152">1.5.2</option>
<option value="151">1.5.1</option>
<option value="150">1.5.0</option>
<option value="142">1.4.2</option>
<option value="141">1.4.1</option>
<option value="139">1.3.9</option>
<option value="120">1.2.0</option>
<option value="114">1.1.4</option>
<option value="100">1.0.0</option>
</select>
</td>
<td>
<button id="parsebutton" onclick="newTree(document.getElementById('formulainput').value, document.getElementById('parserversionselected').value)">Parse</button>
</td>
</tr>
</tbody>
</table>
<div id="bugreport">
<a href="javascript:;" onclick=" javascript: if (document.getElementById('bug_explanation').style.display !== 'block') { document.getElementById('bug_explanation').style.display = 'block' } else { document.getElementById('bug_explanation').style.display = 'none' };" style="color: black; font-weight: bold;">Found a bug?</a> <br/> <br/>
<div id="bug_explanation" style="display: none;">
Great! <a href="https://github.com/PerfectXL/XLParser/issues">Please report it as a Github issue!</a> <br/> <br/>
If the bug is with a specific formula/excel file, please include that too.<br/>
Generally bugs in XLParser are one of the following, please include this type in the report:<br/>
<ul>
<li>The parser can't parse a formula that Excel accepts</li>
<li>The parser parses a formula that Excel doesn't accept.</li>
<li>The parser interprets a formula wrong, that is it produces a parse tree that doesn't correspond with how Excel behaves.</li>
<li>There is a "normal" bug in the code around the core parser.</li>
</ul>
</div>
</div>
</div>
<div id="logos">
<a href="https://tudelft.nl">
<img src="img/logo-tudelft.png" alt="TU Delft logo"/>
</a><br/>
<img src="img/logo-spreadsheet-lab.png" alt="Spreadsheet lab logo"/><br/>
<a href="https://www.infotron.nl/">
<img src="img/logo-infotron.png" alt="Infotron logo"/>
</a>
</div>
</div>
<div id="borderwrapper2">
<script type="text/javascript">
var ua = window.navigator.userAgent;
if (ua.indexOf("MSIE ") > 0 || ua.indexOf('Trident/') > 0) {
document.write(
"<em>Note: image downloading does not work properly in Internet Explorer 11 and lower.</em><br />");
}
</script>
<!-- Based on https://mbostock.github.io/d3/talk/20111018/tree.html and https://gist.github.com/d3noob/8326869-->
<p>Parse Tree (<a id="imgdatasvg">SVG</a>, <a id="imgdatapng">PNG</a>):</p>
<div id="d3viz"></div>
</div>
</body>
</html>
================================================
FILE: app/XLParser.Web/Default.aspx.cs
================================================
using System;
using System.Web.UI;
namespace XLParser.Web
{
public partial class Default : Page
{
protected void Page_Load(object sender, EventArgs e) { }
}
}
================================================
FILE: app/XLParser.Web/Default.aspx.designer.cs
================================================
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace XLParser.Web {
public partial class Default {
}
}
================================================
FILE: app/XLParser.Web/Parse.cs
================================================
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Net;
using System.Text.RegularExpressions;
using System.Web;
using Irony.Parsing;
using Newtonsoft.Json;
using XLParser.Web.XLParserVersions.v100;
namespace XLParser.Web
{
public class Parse : IHttpHandler
{
private HttpContext _httpContext;
private void WriteResponse(string s)
{
_httpContext.Response.Write(s);
}
private static readonly bool DisableCache =
#if(DEBUG)
true;
#else
false;
#endif
private const string LatestVersion = "175";
public void ProcessRequest(HttpContext context)
{
_httpContext = context;
if (!DisableCache && context.Request.Params["nocache"] != "true")
{
context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.Cache.SetExpires(DateTime.Now.AddMinutes(5));
context.Response.Cache.SetMaxAge(new TimeSpan(0, 0, 5));
}
context.Response.AddHeader("Access-Control-Allow-Origin", "*");
// Dynamically load a library version
var xlParserVersion = context.Request.Params["version"] ?? LatestVersion;
if (!Regex.IsMatch(xlParserVersion, @"^[0-9]{3,4}[\-a-z0-9]*$"))
{
context.Response.StatusCode = (int) HttpStatusCode.BadRequest;
_httpContext.Response.ContentType = "text/plain";
WriteResponse("Invalid version");
context.Response.End();
return;
}
try
{
LoadXlParserVersion(xlParserVersion);
}
catch (ArgumentException)
{
context.Response.StatusCode = (int) HttpStatusCode.NotFound;
_httpContext.Response.ContentType = "text/plain";
WriteResponse("Version doesn't exist");
context.Response.End();
return;
}
// We want to actually give meaningful HTTP error codes and not have IIS interfere
context.Response.TrySkipIisCustomErrors = true;
// check file extension for format
var format = (Path.GetExtension(context.Request.FilePath) ?? ".json").TrimStart('.');
var formula = context.Request.Unvalidated["formula"];
switch (format)
{
case "json":
ParseToJson(formula);
break;
default:
context.Response.StatusCode = 415;
_httpContext.Response.ContentType = "text/plain";
WriteResponse($"Format '{format}' not supported.");
context.Response.End();
break;
}
}
private void ParseToJson(string formula)
{
_httpContext.Response.ContentType = "application/json";
if (formula == null)
{
_httpContext.Response.StatusCode = 400;
WriteResponse(JsonConvert.SerializeObject(new {error = "no formula supplied"}));
_httpContext.Response.End();
return;
}
ParseTreeNode root;
try
{
//root = XLParser.ExcelFormulaParser.Parse(formula);
root = _parse(formula);
}
catch (ArgumentException)
{
// Parse error, return 422 - Unprocessable Entity
_httpContext.Response.StatusCode = 422;
ParseTree r = new Parser((Grammar) Activator.CreateInstance(_grammar)).Parse(formula);
WriteResponse(JsonConvert.SerializeObject(new
{
error = "Parse error",
formula,
message = r.ParserMessages.Select(m => new
{
level = m.Level.ToString(),
line = m.Location.Line + 1,
column = m.Location.Column + 1,
msg = m.Message
}).FirstOrDefault()
}));
_httpContext.Response.End();
return;
}
WriteResponse(JsonConvert.SerializeObject(ToJson(root), Formatting.Indented, new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
}));
_httpContext.Response.End();
}
private JsonNode ToJson(ParseTreeNode node)
{
return new JsonNode
{
name = NodeText(node),
children = node.ChildNodes.Count == 0 ? null : node.ChildNodes.Select(ToJson)
};
}
[SuppressMessage("ReSharper", "InconsistentNaming")]
private class JsonNode
{
public IEnumerable<JsonNode> children;
public string name;
}
private string NodeText(ParseTreeNode node)
{
if (node.Term is NonTerminal)
{
return node.Term.Name;
}
// These are simple terminals like + or =, just print them
// For other terminals, print the terminal name + contents
return node.Term.Name.Length <= 2 ? _print(node) : $"{node.Term.Name}[\"{_print(node)}\"]";
}
private Func<string, ParseTreeNode> _parse;
private Func<ParseTreeNode, string> _print;
private Type _grammar;
// Yes, this is f-ugly. Better solutions were tried (dynamically loading through reflection, extern alias and separate AppDomains) but failed.
// Mainly this is because .NET is very very picky about loading multiple versions of libraries with the same name
private void LoadXlParserVersion(string version)
{
switch (version)
{
case "100":
_parse = ExcelFormulaParser.Parse;
_print = ExcelFormulaParser.Print;
_grammar = typeof(ExcelFormulaGrammar);
break;
case "114":
_parse = XLParserVersions.v114.ExcelFormulaParser.Parse;
_print = XLParserVersions.v114.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v114.ExcelFormulaGrammar);
break;
case "120":
_parse = XLParserVersions.v120.ExcelFormulaParser.Parse;
_print = XLParserVersions.v120.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v120.ExcelFormulaGrammar);
break;
case "139":
_parse = XLParserVersions.v139.ExcelFormulaParser.Parse;
_print = XLParserVersions.v139.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v139.ExcelFormulaGrammar);
break;
case "141":
_parse = XLParserVersions.v141.ExcelFormulaParser.Parse;
_print = XLParserVersions.v141.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v141.ExcelFormulaGrammar);
break;
case "142":
_parse = XLParserVersions.v142.ExcelFormulaParser.Parse;
_print = XLParserVersions.v142.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v142.ExcelFormulaGrammar);
break;
case "150":
_parse = XLParserVersions.v150.ExcelFormulaParser.Parse;
_print = XLParserVersions.v150.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v150.ExcelFormulaGrammar);
break;
case "151":
_parse = XLParserVersions.v151.ExcelFormulaParser.Parse;
_print = XLParserVersions.v151.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v151.ExcelFormulaGrammar);
break;
case "152":
_parse = XLParserVersions.v152.ExcelFormulaParser.Parse;
_print = XLParserVersions.v152.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v152.ExcelFormulaGrammar);
break;
case "160":
_parse = XLParserVersions.v160.ExcelFormulaParser.Parse;
_print = XLParserVersions.v160.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v160.ExcelFormulaGrammar);
break;
case "161":
_parse = XLParserVersions.v161.ExcelFormulaParser.Parse;
_print = XLParserVersions.v161.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v161.ExcelFormulaGrammar);
break;
case "162":
_parse = XLParserVersions.v162.ExcelFormulaParser.Parse;
_print = XLParserVersions.v162.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v162.ExcelFormulaGrammar);
break;
case "163":
_parse = XLParserVersions.v163.ExcelFormulaParser.Parse;
_print = XLParserVersions.v163.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v163.ExcelFormulaGrammar);
break;
case "170":
_parse = XLParserVersions.v170.ExcelFormulaParser.Parse;
_print = XLParserVersions.v170.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v170.ExcelFormulaGrammar);
break;
case "171":
_parse = XLParserVersions.v171.ExcelFormulaParser.Parse;
_print = XLParserVersions.v171.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v171.ExcelFormulaGrammar);
break;
case "172":
_parse = XLParserVersions.v172.ExcelFormulaParser.Parse;
_print = XLParserVersions.v172.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v172.ExcelFormulaGrammar);
break;
case "173":
_parse = XLParserVersions.v173.ExcelFormulaParser.Parse;
_print = XLParserVersions.v173.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v173.ExcelFormulaGrammar);
break;
case "174":
_parse = XLParserVersions.v174.ExcelFormulaParser.Parse;
_print = XLParserVersions.v174.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v174.ExcelFormulaGrammar);
break;
case "175":
_parse = XLParserVersions.v175.ExcelFormulaParser.Parse;
_print = XLParserVersions.v175.ExcelFormulaParser.Print;
_grammar = typeof(XLParserVersions.v175.ExcelFormulaGrammar);
break;
default:
throw new ArgumentException($"Version {version} doesn't exist");
}
}
public bool IsReusable => true;
}
}
================================================
FILE: app/XLParser.Web/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: Guid("ffb6e35e-f708-485b-996e-f1f0a54fffb7")]
[assembly: AssemblyVersion("1.7.5.0")]
================================================
FILE: app/XLParser.Web/Properties/Resources.Designer.cs
================================================
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace XLParser.Web.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("XLParser.Web.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ADDRESS
///AMORDEGRC
///AMORLINC
///AND
///AREAS
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOMDIST
///CALL
///CEILING
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHITEST
///CLEAN
///CODE
///COLUMN
///COLUMNS
///COMBIN
///COMPLEX
///CONCATENATE
///CONFIDENCE
///CONVERT
///CORREL
///COS
///COSH
///COUNT
///COUNTA
///COUNTBLANK
///COUNTIF
///COUNTIFS
///COUPDAYBS
///COUPDAYS
///COUPDAYSNC
///COUPNCD
///C [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v120 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList-v120", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIST
///CHISQ.DIST [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v139 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList-v139", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIST
///CHISQ.DIST [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v141 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v141", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIST
///CHISQ.DIST [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v142 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v142", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v150 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v150", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v151 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v151", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v152 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v152", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v160 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v160", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v161 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v161", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v162 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v162", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v163 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v163", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v170 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v170", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v171 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v171", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v172 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v172", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v173 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v173", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v174 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v174", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ABS
///ACCRINT
///ACCRINTM
///ACOS
///ACOSH
///ACOT
///ACOTH
///ADDRESS
///AGGREGATE
///AMORDEGRC
///AMORLINC
///AND
///ARABIC
///AREAS
///ARRAYTOTEXT
///ASC
///ASIN
///ASINH
///ATAN
///ATAN2
///ATANH
///AVEDEV
///AVERAGE
///AVERAGEA
///AVERAGEIF
///AVERAGEIFS
///BAHTTEXT
///BASE
///BESSELI
///BESSELJ
///BESSELK
///BESSELY
///BETA.DIST
///BETA.INV
///BETADIST
///BETAINV
///BIN2DEC
///BIN2HEX
///BIN2OCT
///BINOM.DIST
///BINOM.DIST.RANGE
///BINOM.INV
///BINOMDIST
///BITAND
///BITLSHIFT
///BITOR
///BITRSHIFT
///BITXOR
///CALL
///CEILING
///CEILING.MATH
///CEILING.PRECISE
///CELL
///CHAR
///CHIDIST
///CHIINV
///CHISQ.DIS [rest of string was truncated]";.
/// </summary>
internal static string ExcelBuiltinFunctionList_v175 {
get {
return ResourceManager.GetString("ExcelBuiltinFunctionList_v175", resourceCulture);
}
}
}
}
================================================
FILE: app/XLParser.Web/Properties/Resources.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ExcelBuiltinFunctionList-v120" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v120.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList-v139" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\resources\excelbuiltinfunctionlist-v139.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v141" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v141.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v142" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v142.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v150" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v150.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v151" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v151.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v152" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v152.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v160" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\resources\excelbuiltinfunctionlist-v160.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v161" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\resources\excelbuiltinfunctionlist-v161.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v162" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\resources\excelbuiltinfunctionlist-v162.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;iso-8859-1</value>
</data>
<data name="ExcelBuiltinFunctionList_v163" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\resources\excelbuiltinfunctionlist-v163.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v170" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v170.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v171" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v171.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v172" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v172.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v173" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v173.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v174" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v174.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ExcelBuiltinFunctionList_v175" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelBuiltinFunctionList-v175.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
</root>
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v120.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ADDRESS
AMORDEGRC
AMORLINC
AND
AREAS
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BESSELI
BESSELJ
BESSELK
BESSELY
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOMDIST
CALL
CEILING
CELL
CHAR
CHIDIST
CHIINV
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMPLEX
CONCATENATE
CONFIDENCE
CONVERT
CORREL
COS
COSH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
CRITBINOM
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEVALUE
DAVERAGE
DAY
DAYS360
DB
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATEEFFECT
EOMONTH
ERF
ERFC
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPONDIST
FACT
FACTDOUBLE
FALSE
FDIST
FIND
FINV
FISHER
FISHERINV
FIXED
FLOOR
FORECAST
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMADIST
GAMMAINV
GAMMALN
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOMDIST
ISBLANK
IFERROR
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSIN
IMSQRT
IMSUB
IMSUM
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
IS
ISB
ISERROR
ISNA
ISNUMBER
ISPMT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MONTH
MROUND
MULTINOMIAL
N
NA
NEGBINOMDIST
NETWORKDAYS
NOMINAL
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PEARSON
PERCENTILE
PERCENTRANK
PERMUT
PHONETIC
PI
PMT
POISSON
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUOTIENT
RADIANS
RAND
RANDBETWEEN
RANK
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RSQ
RTD
SEARCH
SEARCHB
SECOND
SERIESSUM
SIGN
SIN
SINH
SKEW
SLN
SLOPE
SMALL
SQL.REQUEST
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SYD
T
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UPPER
VALUE
VAR
VARA
VARP
VARPA
VDB
VLOOKUP
WEEKDAY
WEEKNUM
WEIBULL
WORKDAY
XIRR
XNPV
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v139.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
ISBLANK
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
IS
ISB
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SQL.REQUEST
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UPPER
VALUE
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v141.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
ISBLANK
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
IS
ISB
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SQL.REQUEST
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UPPER
VALUE
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v142.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
ISBLANK
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
IS
ISB
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SQL.REQUEST
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UPPER
VALUE
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v150.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v151.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v152.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v160.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v161.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v162.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v163.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v170.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v171.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v172.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v173.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v174.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v175.txt
================================================
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FILTER
FILTERXML
FIND
FINDB
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LARGE
LCM
LEFT
LEFTB
LEN
LENB
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIDB
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REGISTER.ID
REPLACE
REPLACEB
REPT
RIGHT
RIGHTB
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SEARCH
SEARCHB
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST
================================================
FILE: app/XLParser.Web/Web.Debug.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an attribute "name" that has a value of "MyDB".
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<!--
In the example below, the "Replace" transform will replace the entire
<customErrors> section of your web.config file.
Note that because there is only one customErrors section under the
<system.web> node, there is no need to use the "xdt:Locator" attribute.
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>
================================================
FILE: app/XLParser.Web/Web.Release.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an attribute "name" that has a value of "MyDB".
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
In the example below, the "Replace" transform will replace the entire
<customErrors> section of your web.config file.
Note that because there is only one customErrors section under the
<system.web> node, there is no need to use the "xdt:Locator" attribute.
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>
================================================
FILE: app/XLParser.Web/Web.config
================================================
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<!--
For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
The following attributes can be set on the <httpRuntime> tag.
<system.Web>
<httpRuntime targetFramework="4.7.2" />
</system.Web>
-->
<system.web>
<compilation debug="true" targetFramework="4.7.2"/>
<httpRuntime targetFramework="4.7.2" requestValidationMode="2.0"/>
</system.web>
<system.webServer>
<handlers>
<add verb="*" name="Parse" path="Parse.*" type="XLParser.Web.Parse"/>
</handlers>
</system.webServer>
</configuration>
================================================
FILE: app/XLParser.Web/XLParser Web.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{A24BD58E-5958-4990-8836-958C52A6AA02}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>XLParser.Web</RootNamespace>
<AssemblyName>XLParser Web</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<Use64BitIISExpress />
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Irony, Version=1.1.0.0, Culture=neutral, PublicKeyToken=ca48ace7223ead47, processorArchitecture=MSIL">
<HintPath>..\packages\Irony.1.2.0\lib\netstandard2.0\Irony.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="d3vizsvg.js" />
<Content Include="Default.aspx" />
<Content Include="img\logo-infotron.png" />
<Content Include="img\logo-spreadsheet-lab.png" />
<Content Include="img\logo-tudelft.png" />
<None Include="Resources\ExcelBuiltinFunctionList-v120.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v139.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v141.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v142.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v150.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v151.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v152.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v160.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v161.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v162.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v163.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v170.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v171.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v172.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v173.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v174.txt" />
<None Include="Resources\ExcelBuiltinFunctionList-v175.txt" />
<Content Include="Web.config" />
<Content Include="xlparser-web.css" />
</ItemGroup>
<ItemGroup>
<Compile Include="Default.aspx.cs">
<DependentUpon>Default.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Default.aspx.designer.cs">
<DependentUpon>Default.aspx</DependentUpon>
</Compile>
<Compile Include="Parse.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="XLParserVersions\v100\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v100\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v114\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v114\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v120\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v120\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v120\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v139\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v139\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v139\ParserReference.cs" />
<Compile Include="XLParserVersions\v139\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v141\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v141\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v141\ParserReference.cs" />
<Compile Include="XLParserVersions\v141\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v142\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v142\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v142\ParserReference.cs" />
<Compile Include="XLParserVersions\v142\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v150\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v150\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v150\ParserReference.cs" />
<Compile Include="XLParserVersions\v150\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v151\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v151\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v151\ParserReference.cs" />
<Compile Include="XLParserVersions\v151\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v152\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v152\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v152\ParserReference.cs" />
<Compile Include="XLParserVersions\v152\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v160\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v160\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v160\ParserReference.cs" />
<Compile Include="XLParserVersions\v160\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v161\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v161\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v161\ParserReference.cs" />
<Compile Include="XLParserVersions\v161\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v162\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v162\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v162\ParserReference.cs" />
<Compile Include="XLParserVersions\v162\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v162\WordsTerminal.cs" />
<Compile Include="XLParserVersions\v163\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v163\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v163\ParserReference.cs" />
<Compile Include="XLParserVersions\v163\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v163\WordsTerminal.cs" />
<Compile Include="XLParserVersions\v170\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v170\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v170\ParserReference.cs" />
<Compile Include="XLParserVersions\v170\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v170\WordsTerminal.cs" />
<Compile Include="XLParserVersions\v171\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v171\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v171\ParserReference.cs" />
<Compile Include="XLParserVersions\v171\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v171\WordsTerminal.cs" />
<Compile Include="XLParserVersions\v172\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v172\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v172\ParserReference.cs" />
<Compile Include="XLParserVersions\v172\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v172\WordsTerminal.cs" />
<Compile Include="XLParserVersions\v173\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v173\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v173\ParserReference.cs" />
<Compile Include="XLParserVersions\v173\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v173\WordsTerminal.cs" />
<Compile Include="XLParserVersions\v174\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v174\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v174\ParserReference.cs" />
<Compile Include="XLParserVersions\v174\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v174\WordsTerminal.cs" />
<Compile Include="XLParserVersions\v175\ExcelFormulaGrammar.cs" />
<Compile Include="XLParserVersions\v175\ExcelFormulaParser.cs" />
<Compile Include="XLParserVersions\v175\ParserReference.cs" />
<Compile Include="XLParserVersions\v175\PrefixInfo.cs" />
<Compile Include="XLParserVersions\v175\WordsTerminal.cs" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Service References\" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\PublishProfiles\" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>39901</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:39901/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
================================================
FILE: app/XLParser.Web/XLParserVersions/v100/ExcelFormulaGrammar.cs
================================================
using Irony.Parsing;
using System;
using System.Collections.Generic;
namespace XLParser.Web.XLParserVersions.v100
{
[Language("Excel Formulas", "1.0.0", "Grammar for Excel Formulas")]
public class ExcelFormulaGrammar : Grammar
{
public ExcelFormulaGrammar() : base(false)
{
#region 1-Terminals
#region Symbols and operators
var comma = ToTerm(",");
var colon = ToTerm(":");
var semicolon = ToTerm(";");
var OpenParen = ToTerm("(");
var CloseParen = ToTerm(")");
var CloseSquareParen = ToTerm("]");
var OpenSquareParen = ToTerm("[");
var exclamationMark = ToTerm("!");
var CloseCurlyParen = ToTerm("}");
var OpenCurlyParen = ToTerm("{");
var mulop = ToTerm("*");
var plusop = ToTerm("+");
var divop = ToTerm("/");
var minop = ToTerm("-");
var concatop = ToTerm("&");
var expop = ToTerm("^");
// Intersect op is a single space, which cannot be parsed normally so we need an ImpliedSymbolTerminal
// Attention: ImpliedSymbolTerminal seems to break if you assign it a priority, and it's default priority is low
var intersectop = new ImpliedSymbolTerminal(GrammarNames.TokenIntersect);
var percentop = ToTerm("%");
var gtop = ToTerm(">");
var eqop = ToTerm("=");
var ltop = ToTerm("<");
var neqop = ToTerm("<>");
var gteop = ToTerm(">=");
var lteop = ToTerm("<=");
#endregion
#region Literals
var BoolToken = new RegexBasedTerminal(GrammarNames.TokenBool, "TRUE|FALSE");
BoolToken.Priority = TerminalPriority.Bool;
var NumberToken = new NumberLiteral(GrammarNames.TokenNumber, NumberOptions.None);
NumberToken.DefaultIntTypes = new TypeCode[] { TypeCode.Int32, TypeCode.Int64, NumberLiteral.TypeCodeBigInt };
var TextToken = new StringLiteral(GrammarNames.TokenText, "\"", StringOptions.AllowsDoubledQuote | StringOptions.AllowsLineBreak);
var ErrorToken = new RegexBasedTerminal(GrammarNames.TokenError, "#NULL!|#DIV/0!|#VALUE!|#NAME\\?|#NUM!|#N/A");
var RefErrorToken = ToTerm("#REF!", GrammarNames.TokenRefError);
#endregion
#region Functions
var UDFToken = new RegexBasedTerminal(GrammarNames.TokenUDF, "(_xll\\.)?[a-zA-Z0-9_.]+\\(");
UDFToken.Priority = TerminalPriority.UDF;
var ExcelRefFunctionToken = new RegexBasedTerminal(GrammarNames.TokenExcelRefFunction, "(INDEX|OFFSET|INDIRECT)\\(");
ExcelRefFunctionToken.Priority = TerminalPriority.ExcelRefFunction;
var ExcelFunction = new RegexBasedTerminal(GrammarNames.ExcelFunction, "(" + String.Join("|", excelFunctionList) +")\\(");
ExcelFunction.Priority = TerminalPriority.ExcelFunction;
// Using this instead of Empty allows a more accurate trees
var EmptyArgumentToken = new ImpliedSymbolTerminal(GrammarNames.TokenEmptyArgument);
#endregion
#region References and names
var VRangeToken = new RegexBasedTerminal(GrammarNames.TokenVRange, "[$]?[A-Z]{1,4}:[$]?[A-Z]{1,4}");
var HRangeToken = new RegexBasedTerminal(GrammarNames.TokenHRange, "[$]?[1-9][0-9]*:[$]?[1-9][0-9]*");
const string CellTokenRegex = "[$]?[A-Z]{1,4}[$]?[1-9][0-9]*";
var CellToken = new RegexBasedTerminal(GrammarNames.TokenCell, CellTokenRegex);
CellToken.Priority = TerminalPriority.CellToken;
const string NamedRangeRegex = @"[A-Za-z\\_][\w\.]*";
var NamedRangeToken = new RegexBasedTerminal(GrammarNames.TokenNamedRange, NamedRangeRegex);
NamedRangeToken.Priority = TerminalPriority.NamedRange;
// To prevent e.g. "A1A1" being parsed as 2 celltokens
var NamedRangeCombinationToken = new RegexBasedTerminal(GrammarNames.TokenNamedRangeCombination, "(TRUE|FALSE|" + CellTokenRegex + ")" + NamedRangeRegex);
NamedRangeCombinationToken.Priority = TerminalPriority.NamedRangeCombination;
const string singleQuotedContent = @"\w !@#$%^&*()\-\+={}|:;<>,\./\?" + "\\\"";
const string sheetRegEx = @"(([\w\.]+)|('([" + singleQuotedContent + @"]|'')+'))!";
var SheetToken = new RegexBasedTerminal(GrammarNames.TokenSheet, sheetRegEx);
SheetToken.Priority = TerminalPriority.SheetToken;
const string firstSheetName = "[a-zA-Z0-9]+:";
var MultipleSheetsToken = new RegexBasedTerminal(GrammarNames.TokenMultipleSheets, firstSheetName + sheetRegEx);
MultipleSheetsToken.Priority = TerminalPriority.MultipleSheetsToken;
var FileToken = new RegexBasedTerminal(GrammarNames.TokenFileNameNumeric, "[0-9]+");
FileToken.Priority = TerminalPriority.FileToken;;
var QuotedFileSheetToken = new RegexBasedTerminal(GrammarNames.TokenFileSheetQuoted, @"'\[\d+\]([" + singleQuotedContent + @"]|'')+'!");
QuotedFileSheetToken.Priority = TerminalPriority.QuotedFileToken;
var ReservedNameToken = new RegexBasedTerminal(GrammarNames.TokenReservedName, @"_xlnm\.[a-zA-Z_]+");
ReservedNameToken.Priority = TerminalPriority.ReservedName;
var DDEToken = new RegexBasedTerminal(GrammarNames.TokenDDE, @"'([\[\]" + singleQuotedContent + @"]|'')+'");
#endregion
#region Punctuation
MarkPunctuation(exclamationMark);
MarkPunctuation(OpenParen, CloseParen);
MarkPunctuation(OpenSquareParen, CloseSquareParen);
MarkPunctuation(OpenCurlyParen, CloseCurlyParen);
#endregion
#endregion
#region 2-NonTerminals
// Most nonterminals are first defined here, so they can be used anywhere in the rules
// Otherwise you can only use nonterminals that have been defined previously
var Argument = new NonTerminal(GrammarNames.Argument);
var Arguments = new NonTerminal(GrammarNames.Arguments);
var ArrayColumns = new NonTerminal(GrammarNames.ArrayColumns);
var ArrayConstant = new NonTerminal(GrammarNames.ArrayConstant);
var ArrayFormula = new NonTerminal(GrammarNames.ArrayFormula);
var ArrayRows = new NonTerminal(GrammarNames.ArrayRows);
var Bool = new NonTerminal(GrammarNames.Bool);
var Cell = new NonTerminal(GrammarNames.Cell);
var Constant = new NonTerminal(GrammarNames.Constant);
var ConstantArray = new NonTerminal(GrammarNames.ConstantArray);
var DynamicDataExchange = new NonTerminal(GrammarNames.DynamicDataExchange);
var EmptyArgument = new NonTerminal(GrammarNames.EmptyArgument);
var Error = new NonTerminal(GrammarNames.Error);
var File = new NonTerminal(GrammarNames.File);
var Formula = new NonTerminal(GrammarNames.Formula);
var FormulaWithEq = new NonTerminal(GrammarNames.FormulaWithEq);
var Function = new NonTerminal(GrammarNames.Function);
var FunctionCall = new NonTerminal(GrammarNames.FunctionCall);
var HRange = new NonTerminal(GrammarNames.HorizontalRange);
var InfixOp = new NonTerminal(GrammarNames.TransientInfixOp);
var MultipleSheets = new NonTerminal(GrammarNames.MultipleSheets);
var NamedRange = new NonTerminal(GrammarNames.NamedRange);
var Number = new NonTerminal(GrammarNames.Number);
var PostfixOp = new NonTerminal(GrammarNames.TransientPostfixOp);
var Prefix = new NonTerminal(GrammarNames.Prefix);
var PrefixOp = new NonTerminal(GrammarNames.TransientPrefixOp);
var QuotedFileSheet = new NonTerminal(GrammarNames.QuotedFileSheet);
var Reference = new NonTerminal(GrammarNames.Reference);
var ReferenceFunction = new NonTerminal(GrammarNames.ReferenceFunction);
var ReferenceItem = new NonTerminal(GrammarNames.TransientReferenceItem);
var RefError = new NonTerminal(GrammarNames.RefError);
var ReservedName = new NonTerminal(GrammarNames.ReservedName);
var Sheet = new NonTerminal(GrammarNames.Sheet);
var Start = new NonTerminal(GrammarNames.TransientStart);
var Text = new NonTerminal(GrammarNames.Text);
var Union = new NonTerminal(GrammarNames.Union);
var VRange = new NonTerminal(GrammarNames.VerticalRange);
#endregion
#region 3-Rules
#region Base rules
Root = Start;
Start.Rule = FormulaWithEq
| Formula
| ArrayFormula
;
MarkTransient(Start);
ArrayFormula.Rule = OpenCurlyParen + eqop + Formula + CloseCurlyParen;
FormulaWithEq.Rule = eqop + Formula;
Formula.Rule =
Reference
| Constant
| FunctionCall
| ConstantArray
| OpenParen + Formula + CloseParen
| ReservedName
;
//MarkTransient(Formula);
ReservedName.Rule = ReservedNameToken;
Constant.Rule = Number
| Text
| Bool
| Error
;
Text.Rule = TextToken;
Number.Rule = NumberToken;
Bool.Rule = BoolToken;
Error.Rule = ErrorToken;
RefError.Rule = RefErrorToken;
#endregion
#region Functions
FunctionCall.Rule =
Function + Arguments + CloseParen
| PrefixOp + Formula
| Formula + PostfixOp
| Formula + InfixOp + Formula
;
Function.Rule = ExcelFunction | UDFToken;
Arguments.Rule = MakeStarRule(Arguments, comma, Argument);
//Arguments.Rule = Argument | Argument + comma + Arguments;
EmptyArgument.Rule = EmptyArgumentToken;
Argument.Rule = Formula | EmptyArgument;
//MarkTransient(Argument);
PrefixOp.Rule =
ImplyPrecedenceHere(Precedence.UnaryPreFix) + plusop
| ImplyPrecedenceHere(Precedence.UnaryPreFix) + minop;
MarkTransient(PrefixOp);
InfixOp.Rule =
expop
| mulop
| divop
| plusop
| minop
| concatop
| gtop
| eqop
| ltop
| neqop
| gteop
| lteop;
MarkTransient(InfixOp);
//PostfixOp.Rule = ImplyPrecedenceHere(Precedence.UnaryPostFix) + percentop;
// ImplyPrecedenceHere doesn't seem to work for this rule, but postfix has such a high priority shift will nearly always be the correct action
PostfixOp.Rule = PreferShiftHere() + percentop;
MarkTransient(PostfixOp);
#endregion
#region References
Reference.Rule = ReferenceItem
| Reference + colon + Reference
| Reference + intersectop + Reference
| OpenParen + Union + CloseParen
| OpenParen + Reference + PreferShiftHere() + CloseParen
| Prefix + ReferenceItem
| Prefix + UDFToken + Arguments + CloseParen
| DynamicDataExchange
;
Union.Rule = MakePlusRule(Union, comma, Reference);
ReferenceItem.Rule =
Cell
| NamedRange
| ReferenceFunction
| VRange
| HRange
| RefError
;
MarkTransient(ReferenceItem);
VRange.Rule = VRangeToken;
HRange.Rule = HRangeToken;
ReferenceFunction.Rule =
ExcelRefFunctionToken + Arguments + CloseParen;
QuotedFileSheet.Rule = QuotedFileSheetToken;
Sheet.Rule = SheetToken;
MultipleSheets.Rule = MultipleSheetsToken;
Cell.Rule = CellToken;
File.Rule = OpenSquareParen + FileToken + CloseSquareParen;
DynamicDataExchange.Rule = File + exclamationMark + DDEToken;
NamedRange.Rule = NamedRangeToken | NamedRangeCombinationToken;
Prefix.Rule =
Sheet
| File + Sheet
| File + exclamationMark
| QuotedFileSheet
| MultipleSheets
| File + MultipleSheets;
#endregion
#region Arrays
ConstantArray.Rule = OpenCurlyParen + ArrayColumns + CloseCurlyParen;
ArrayColumns.Rule = MakePlusRule(ArrayColumns, semicolon, ArrayRows);
ArrayRows.Rule = MakePlusRule(ArrayRows, comma, ArrayConstant);
ArrayConstant.Rule = Constant | PrefixOp + Number | RefError;
#endregion
#endregion
#region 5-Operator Precedence
// Some of these operators are neutral associative instead of left associative,
// but this ensures a consistent parse tree. As a lot of code is "hardcoded" onto the specific
// structure of the parse tree, we like consistency.
RegisterOperators(Precedence.Comparison, Associativity.Left, eqop, ltop, gtop, lteop, gteop, neqop);
RegisterOperators(Precedence.Concatenation, Associativity.Left, concatop);
RegisterOperators(Precedence.Addition, Associativity.Left, plusop, minop);
RegisterOperators(Precedence.Multiplication, Associativity.Left, mulop, divop);
RegisterOperators(Precedence.Exponentiation, Associativity.Left, expop);
RegisterOperators(Precedence.UnaryPostFix, Associativity.Left, percentop);
RegisterOperators(Precedence.Reference, Associativity.Left, intersectop, colon);
RegisterOperators(Precedence.Reference, Associativity.Left, comma);
//RegisterOperators(Precedence.ParameterSeparator, comma);
#endregion
}
#region Precedence and Priority constants
// Source: https://support.office.com/en-us/article/Calculation-operators-and-precedence-48be406d-4975-4d31-b2b8-7af9e0e2878a
// Could also be an enum, but this way you don't need int casts
private static class Precedence
{
// Don't use priority 0, Irony seems to view it as no priority set
public const int Comparison = 1;
public const int Concatenation = 2;
public const int Addition = 3;
public const int Multiplication = 4;
public const int Exponentiation = 5;
public const int UnaryPostFix = 6;
public const int UnaryPreFix = 7;
public const int Reference = 8;
}
// Terminal priorities, indicates to lexer which token it should pick when multiple tokens can match
// E.g. "A1" is both a CellToken and NamedRange, pick celltoken because it has a higher priority
// E.g. "A1Blah" Is Both a CellToken + NamedRange, NamedRange and NamedRangeCombination, pick NamedRangeCombination
private static class TerminalPriority
{
// Irony Low value
//public const int Low = -1000;
public const int NamedRange = -800;
public const int ReservedName = -700;
// Irony Normal value, default value
//public const int Normal = 0;
public const int Bool = 0;
public const int MultipleSheetsToken = 100;
// Irony High value
//public const int High = 1000;
public const int CellToken = 1000;
public const int NamedRangeCombination = 1100;
public const int UDF = 1150;
public const int ExcelFunction = 1200;
public const int ExcelRefFunction = 1200;
public const int FileToken = 1200;
public const int SheetToken = 1200;
public const int QuotedFileToken = 1200;
}
#endregion
#region Excel function list
private static readonly IList<string> excelFunctionList = new List<String>
{
"ABS",
"ACCRINT",
"ACCRINTM",
"ACOS",
"ACOSH",
"ADDRESS",
"AMORDEGRC",
"AMORLINC",
"AND",
"AREAS",
"ASC",
"ASIN",
"ASINH",
"ATAN",
"ATAN2",
"ATANH",
"AVEDEV",
"AVERAGE",
"AVERAGEA",
"AVERAGEIF",
"AVERAGEIFS",
"BAHTTEXT",
"BESSELI",
"BESSELJ",
"BESSELK",
"BESSELY",
"BETADIST",
"BETAINV",
"BIN2DEC",
"BIN2HEX",
"BIN2OCT",
"BINOMDIST",
"CALL",
"CEILING",
"CELL",
"CHAR",
"CHIDIST",
"CHIINV",
"CHITEST",
"CHOOSE",
"CLEAN",
"CODE",
"COLUMN",
"COLUMNS",
"COMBIN",
"COMPLEX",
"CONCATENATE",
"CONFIDENCE",
"CONVERT",
"CORREL",
"COS",
"COSH",
"COUNT",
"COUNTA",
"COUNTBLANK",
"COUNTIF",
"COUNTIFS",
"COUPDAYBS",
"COUPDAYS",
"COUPDAYSNC",
"COUPNCD",
"COUPNUM",
"COUPPCD",
"COVAR",
"CRITBINOM",
"CUBEKPIMEMBER",
"CUBEMEMBER",
"CUBEMEMBERPROPERTY",
"CUBERANKEDMEMBER",
"CUBESET",
"CUBESETCOUNT",
"CUBEVALUE",
"CUMIPMT",
"CUMPRINC",
"DATE",
"DATEVALUE",
"DAVERAGE",
"DAY",
"DAYS360",
"DB",
"DCOUNT",
"DCOUNTA",
"DDB",
"DEC2BIN",
"DEC2HEX",
"DEC2OCT",
"DEGREES",
"DELTA",
"DEVSQ",
"DGET",
"DISC",
"DMAX",
"DMIN",
"DOLLAR",
"DOLLARDE",
"DOLLARFR",
"DPRODUCT",
"DSTDEV",
"DSTDEVP",
"DSUM",
"DURATION",
"DVAR",
"DVARP",
"EDATEEFFECT",
"EOMONTH",
"ERF",
"ERFC",
"ERROR.TYPE",
"EUROCONVERT",
"EVEN",
"EXACT",
"EXP",
"EXPONDIST",
"FACT",
"FACTDOUBLE",
"FALSE",
"FDIST",
"FIND",
"FINV",
"FISHER",
"FISHERINV",
"FIXED",
"FLOOR",
"FORECAST",
"FREQUENCY",
"FTEST",
"FV",
"FVSCHEDULE",
"GAMMADIST",
"GAMMAINV",
"GAMMALN",
"GCD",
"GEOMEAN",
"GESTEP",
"GETPIVOTDATA",
"GROWTH",
"HARMEAN",
"HEX2BIN",
"HEX2DEC",
"HEX2OCT",
"HLOOKUP",
"HOUR",
"HYPERLINK",
"HYPGEOMDIST",
"IF",
"ISBLANK",
"IFERROR",
"IMABS",
"IMAGINARY",
"IMARGUMENT",
"IMCONJUGATE",
"IMCOS",
"IMDIV",
"IMEXP",
"IMLN",
"IMLOG10",
"IMLOG2",
"IMPOWER",
"IMPRODUCT",
"IMREAL",
"IMSIN",
"IMSQRT",
"IMSUB",
"IMSUM",
"INFO",
"INT",
"INTERCEPT",
"INTRATE",
"IPMT",
"IRR",
"IS",
"ISB",
"ISERROR",
"ISNA",
"ISNUMBER",
"ISPMT",
"JIS",
"KURT",
"LARGE",
"LCM",
"LEFT",
"LEFTB",
"LEN",
"LENB",
"LINEST",
"LN",
"LOG",
"LOG10",
"LOGEST",
"LOGINV",
"LOGNORMDIST",
"LOOKUP",
"LOWER",
"MATCH",
"MAX",
"MAXA",
"MDETERM",
"MDURATION",
"MEDIAN",
"MID",
"MIDB",
"MIN",
"MINA",
"MINUTE",
"MINVERSE",
"MIRR",
"MMULT",
"MOD",
"MODE",
"MONTH",
"MROUND",
"MULTINOMIAL",
"N",
"NA",
"NEGBINOMDIST",
"NETWORKDAYS",
"NOMINAL",
"NORMDIST",
"NORMINV",
"NORMSDIST",
"NORMSINV",
"NOT",
"NOW",
"NPER",
"NPV",
"OCT2BIN",
"OCT2DEC",
"OCT2HEX",
"ODD",
"ODDFPRICE",
"ODDFYIELD",
"ODDLPRICE",
"ODDLYIELD",
"OR",
"PEARSON",
"PERCENTILE",
"PERCENTRANK",
"PERMUT",
"PHONETIC",
"PI",
"PMT",
"POISSON",
"POWER",
"PPMT",
"PRICE",
"PRICEDISC",
"PRICEMAT",
"PROB",
"PRODUCT",
"PROPER",
"PV",
"QUARTILE",
"QUOTIENT",
"RADIANS",
"RAND",
"RANDBETWEEN",
"RANK",
"RATE",
"RECEIVED",
"REGISTER.ID",
"REPLACE",
"REPLACEB",
"REPT",
"RIGHT",
"RIGHTB",
"ROMAN",
"ROUND",
"ROUNDDOWN",
"ROUNDUP",
"ROW",
"ROWS",
"RSQ",
"RTD",
"SEARCH",
"SEARCHB",
"SECOND",
"SERIESSUM",
"SIGN",
"SIN",
"SINH",
"SKEW",
"SLN",
"SLOPE",
"SMALL",
"SQL.REQUEST",
"SQRT",
"SQRTPI",
"STANDARDIZE",
"STDEV",
"STDEVA",
"STDEVP",
"STDEVPA",
"STEYX",
"SUBSTITUTE",
"SUBTOTAL",
"SUM",
"SUMIF",
"SUMIFS",
"SUMPRODUCT",
"SUMSQ",
"SUMX2MY2",
"SUMX2PY2",
"SUMXMY2",
"SYD",
"T",
"TAN",
"TANH",
"TBILLEQ",
"TBILLPRICE",
"TBILLYIELD",
"TDIST",
"TEXT",
"TIME",
"TIMEVALUE",
"TINV",
"TODAY",
"TRANSPOSE",
"TREND",
"TRIM",
"TRIMMEAN",
"TRUE",
"TRUNC",
"TTEST",
"TYPE",
"UPPER",
"VALUE",
"VAR",
"VARA",
"VARP",
"VARPA",
"VDB",
"VLOOKUP",
"WEEKDAY",
"WEEKNUM",
"WEIBULL",
"WORKDAY",
"XIRR",
"XNPV",
"YEAR",
"YEARFRAC",
"YIELD",
"YIELDDISC",
"YIELDMAT",
"ZTEST"
};
#endregion
}
#region Names
/// <summary>
/// Collection of names used for terminals and non-terminals in the Excel Formula Grammar.
/// </summary>
/// <remarks>
/// Using these is strongly recommended, as these will change when breaking changes occur.
/// It also allows you to see which code works on what grammar constructs.
/// </remarks>
// Keep these constants instead of methods/properties, since that allows them to be used in switch statements.
public static class GrammarNames
{
#region Non-Terminals
public const string Argument = "Argument";
public const string Arguments = "Arguments";
public const string ArrayColumns = "ArrayColumns";
public const string ArrayConstant = "ArrayConstant";
public const string ArrayFormula = "ArrayFormula";
public const string ArrayRows = "ArrayRows";
public const string Bool = "Bool";
public const string Cell = "Cell";
public const string Constant = "Constant";
public const string ConstantArray = "ConstantArray";
public const string DynamicDataExchange = "DynamicDataExchange";
public const string EmptyArgument = "EmptyArgument";
public const string Error = "Error";
public const string ExcelFunction = "ExcelFunction";
public const string File = "File";
public const string Formula = "Formula";
public const string FormulaWithEq = "FormulaWithEq";
public const string Function = "Function";
public const string FunctionCall = "FunctionCall";
public const string HorizontalRange = "HRange";
public const string MultipleSheets = "MultipleSheets";
public const string NamedRange = "NamedRange";
public const string Number = "Number";
public const string Prefix = "Prefix";
public const string QuotedFileSheet = "QuotedFileSheet";
public const string Range = "Range";
public const string Reference = "Reference";
public const string ReferenceFunction = "ReferenceFunction";
public const string RefError = "RefError";
public const string ReservedName = "ReservedName";
public const string Sheet = "Sheet";
public const string Text = "Text";
public const string Union = "Union";
public const string VerticalRange = "VRange";
#endregion
#region Transient Non-Terminals
public const string TransientStart = "Start";
public const string TransientInfixOp = "InfixOp";
public const string TransientPostfixOp = "PostfixOp";
public const string TransientPrefixOp = "PrefixOp";
public const string TransientReferenceItem = "ReferenceItem";
#endregion
#region Terminals
public const string TokenBool = "BoolToken";
public const string TokenCell = "CellToken";
public const string TokenDDE = "DDEToke
gitextract_hbenmd2r/
├── .gitattributes
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── app/
│ ├── XLParser apps.sln
│ ├── XLParser.Web/
│ │ ├── .gitignore
│ │ ├── Default.aspx
│ │ ├── Default.aspx.cs
│ │ ├── Default.aspx.designer.cs
│ │ ├── Parse.cs
│ │ ├── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── Resources/
│ │ │ ├── ExcelBuiltinFunctionList-v120.txt
│ │ │ ├── ExcelBuiltinFunctionList-v139.txt
│ │ │ ├── ExcelBuiltinFunctionList-v141.txt
│ │ │ ├── ExcelBuiltinFunctionList-v142.txt
│ │ │ ├── ExcelBuiltinFunctionList-v150.txt
│ │ │ ├── ExcelBuiltinFunctionList-v151.txt
│ │ │ ├── ExcelBuiltinFunctionList-v152.txt
│ │ │ ├── ExcelBuiltinFunctionList-v160.txt
│ │ │ ├── ExcelBuiltinFunctionList-v161.txt
│ │ │ ├── ExcelBuiltinFunctionList-v162.txt
│ │ │ ├── ExcelBuiltinFunctionList-v163.txt
│ │ │ ├── ExcelBuiltinFunctionList-v170.txt
│ │ │ ├── ExcelBuiltinFunctionList-v171.txt
│ │ │ ├── ExcelBuiltinFunctionList-v172.txt
│ │ │ ├── ExcelBuiltinFunctionList-v173.txt
│ │ │ ├── ExcelBuiltinFunctionList-v174.txt
│ │ │ └── ExcelBuiltinFunctionList-v175.txt
│ │ ├── Web.Debug.config
│ │ ├── Web.Release.config
│ │ ├── Web.config
│ │ ├── XLParser Web.csproj
│ │ ├── XLParserVersions/
│ │ │ ├── v100/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ └── ExcelFormulaParser.cs
│ │ │ ├── v114/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ └── ExcelFormulaParser.cs
│ │ │ ├── v120/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v139/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v141/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v142/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v150/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v151/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v152/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v160/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v161/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ └── PrefixInfo.cs
│ │ │ ├── v162/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v163/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v170/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v171/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v172/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v173/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ ├── v174/
│ │ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ │ ├── ExcelFormulaParser.cs
│ │ │ │ ├── ParserReference.cs
│ │ │ │ ├── PrefixInfo.cs
│ │ │ │ └── WordsTerminal.cs
│ │ │ └── v175/
│ │ │ ├── ExcelFormulaGrammar.cs
│ │ │ ├── ExcelFormulaParser.cs
│ │ │ ├── ParserReference.cs
│ │ │ ├── PrefixInfo.cs
│ │ │ └── WordsTerminal.cs
│ │ ├── d3vizsvg.js
│ │ ├── packages.config
│ │ └── xlparser-web.css
│ └── lib/
│ └── .gitignore
├── doc/
│ ├── README.md
│ └── api/
│ ├── Doxyfile
│ └── README.MD
├── lib/
│ └── IronyExplorer/
│ ├── .gitignore
│ ├── IronyExplorer.sln
│ ├── LICENSE
│ ├── README.md
│ ├── libs/
│ │ └── FastColoredTextBox/
│ │ ├── FastColoredTextBox.XML
│ │ └── about.txt
│ └── src/
│ └── IronyExplorer.GrammarExplorer/
│ ├── App.config
│ ├── GrammarItemList.cs
│ ├── GrammarLoader.cs
│ ├── Highlighter/
│ │ ├── AboutCodeHighlighter.txt
│ │ ├── EditorAdapter.cs
│ │ ├── EditorViewAdapter.cs
│ │ ├── FastColoredTextBoxHighlighter.cs
│ │ ├── RichTextBoxHighlighter.cs
│ │ └── WavyLineStyle.cs
│ ├── IronyExplorer.GrammarExplorer.csproj
│ ├── Program.cs
│ ├── Properties/
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── fmGrammarExplorer.Designer.cs
│ ├── fmGrammarExplorer.cs
│ ├── fmGrammarExplorer.resx
│ ├── fmSelectGrammars.Designer.cs
│ ├── fmSelectGrammars.cs
│ ├── fmSelectGrammars.resx
│ ├── fmShowException.Designer.cs
│ ├── fmShowException.cs
│ ├── fmShowException.resx
│ └── packages.config
└── src/
├── XLParser/
│ ├── ExcelFormulaGrammar.cs
│ ├── ExcelFormulaParser.cs
│ ├── FormulaAnalyzer.cs
│ ├── ParserReference.cs
│ ├── PrefixInfo.cs
│ ├── Resources/
│ │ └── ExcelBuiltinFunctionList.txt
│ ├── WordsTerminal.cs
│ ├── XLParser.csproj
│ └── XLParser.nuspec
├── XLParser.Tests/
│ ├── DatasetTests.cs
│ ├── FormulaAnalysisTest.cs
│ ├── ParserTests.cs
│ ├── PrefixInfoTests.cs
│ ├── PrintTests.cs
│ ├── WordsTerminalTests.cs
│ ├── XLParser.Tests.csproj
│ └── data/
│ ├── enron/
│ │ ├── formulas.txt
│ │ └── knownfails.txt
│ ├── euses/
│ │ ├── formulas.txt
│ │ └── knownfails.txt
│ └── testformulas/
│ ├── structured_references.txt
│ └── user_contributed.txt
├── XLParser.sln
└── signing.snk
SYMBOL INDEX (1741 symbols across 112 files)
FILE: app/XLParser.Web/Default.aspx.cs
class Default (line 6) | public partial class Default : Page
method Page_Load (line 8) | protected void Page_Load(object sender, EventArgs e) { }
FILE: app/XLParser.Web/Default.aspx.designer.cs
class Default (line 13) | public partial class Default {
FILE: app/XLParser.Web/Parse.cs
class Parse (line 15) | public class Parse : IHttpHandler
method WriteResponse (line 19) | private void WriteResponse(string s)
method ProcessRequest (line 33) | public void ProcessRequest(HttpContext context)
method ParseToJson (line 90) | private void ParseToJson(string formula)
method ToJson (line 135) | private JsonNode ToJson(ParseTreeNode node)
class JsonNode (line 144) | [SuppressMessage("ReSharper", "InconsistentNaming")]
method NodeText (line 151) | private string NodeText(ParseTreeNode node)
method LoadXlParserVersion (line 169) | private void LoadXlParserVersion(string version)
FILE: app/XLParser.Web/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: app/XLParser.Web/XLParserVersions/v100/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 7) | [Language("Excel Formulas", "1.0.0", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 10) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 335) | private static class Precedence
class TerminalPriority (line 351) | private static class TerminalPriority
class GrammarNames (line 742) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v100/ExcelFormulaParser.cs
class ExcelFormulaParser (line 15) | public static class ExcelFormulaParser
method Parse (line 30) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 43) | public static ParseTree ParseToTree(string input)
method AllNodes (line 59) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 82) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 87) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Contains (line 95) | public static bool Contains(this ParseTreeNode root, string type)
method Type (line 103) | public static string Type(this ParseTreeNode node)
method Is (line 111) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 119) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 130) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 143) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsUnaryOperation (line 150) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 155) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 162) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 170) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 179) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 210) | public static bool MatchFunction(this ParseTreeNode input, String func...
method IsBuiltinFunction (line 218) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 226) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 242) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 252) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsNumberWithSign (line 263) | public static bool IsNumberWithSign(this ParseTreeNode input)
method SkipFormula (line 273) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method SkipToRelevant (line 292) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input)
method Print (line 315) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v114/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 10) | [Language("Excel Formulas", "1.1.3", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 13) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 362) | private static class Precedence
class TerminalPriority (line 381) | private static class TerminalPriority
class GrammarNames (line 772) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v114/ExcelFormulaParser.cs
class ExcelFormulaParser (line 15) | public static class ExcelFormulaParser
method Parse (line 38) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 51) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 68) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 94) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 102) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 107) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Contains (line 115) | public static bool Contains(this ParseTreeNode root, string type)
method Type (line 123) | public static string Type(this ParseTreeNode node)
method Is (line 131) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 139) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 152) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 165) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 172) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 177) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 182) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 187) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 194) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 202) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 211) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 244) | public static bool MatchFunction(this ParseTreeNode input, String func...
method IsBuiltinFunction (line 252) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 261) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 270) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 280) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 287) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 292) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 300) | public static bool IsNumberWithSign(this ParseTreeNode input)
method SkipFormula (line 310) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method SkipToRelevant (line 329) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input)
method Print (line 352) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v120/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 9) | [Language("Excel Formulas", "1.2.0", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 214) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 427) | private static class Precedence
class TerminalPriority (line 446) | private static class TerminalPriority
class GrammarNames (line 495) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v120/ExcelFormulaParser.cs
class ExcelFormulaParser (line 12) | public static class ExcelFormulaParser
method Parse (line 32) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 45) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 62) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 88) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 96) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 101) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 112) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 123) | public static string Type(this ParseTreeNode node)
method Is (line 131) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 139) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 152) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 165) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 172) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 177) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 182) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 187) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 194) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 202) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 211) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 244) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 252) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 293) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 302) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 311) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 321) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 328) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 333) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 341) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 351) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix)
method Substr (line 425) | private static string Substr(string s, int removeLast = 0, int removeF...
method SkipFormula (line 433) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method SkipToRelevant (line 452) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input)
method Print (line 484) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v120/PrefixInfo.cs
class PrefixInfo (line 9) | public class PrefixInfo
method PrefixInfo (line 32) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method ToString (line 42) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v139/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 11) | [Language("Excel Formulas", "1.3.9", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 237) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 454) | private static class Precedence
class TerminalPriority (line 473) | private static class TerminalPriority
method GetExcelFunctionList (line 511) | private static string[] GetExcelFunctionList()
class GrammarNames (line 529) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v139/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 452) | private static bool IsCellReference(IList<ParserReference> references)
method IsRange (line 460) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 478) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 520) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v139/ParserReference.cs
type ReferenceType (line 5) | public enum ReferenceType
class ParserReference (line 15) | public class ParserReference
method ParserReference (line 29) | public ParserReference(ReferenceType referenceType, string locationStr...
method ParserReference (line 42) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 54) | public void InitializeReference(ParseTreeNode node)
method ConvertColumnToStr (line 126) | private string ConvertColumnToStr(int columnNumber)
method ToString (line 137) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v139/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 126) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 143) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 160) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 165) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 166) | public bool Equals(PrefixInfo other)
method GetHashCode (line 173) | public override int GetHashCode()
method ToString (line 196) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v141/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 11) | [Language("Excel Formulas", "1.4.1", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 246) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 465) | private static class Precedence
class TerminalPriority (line 484) | private static class TerminalPriority
method GetExcelFunctionList (line 522) | private static string[] GetExcelFunctionList()
class GrammarNames (line 540) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v141/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 453) | private static bool IsCellReference(IList<ParserReference> references)
method IsRange (line 461) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 479) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 521) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v141/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 31) | public ParserReference(ReferenceType referenceType, string locationStr...
method ParserReference (line 44) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 56) | public void InitializeReference(ParseTreeNode node)
method ConvertColumnToStr (line 123) | private string ConvertColumnToStr(int columnNumber)
method ToString (line 134) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v141/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v142/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 11) | [Language("Excel Formulas", "1.4.2", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 246) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 465) | private static class Precedence
class TerminalPriority (line 484) | private static class TerminalPriority
method GetExcelFunctionList (line 522) | private static string[] GetExcelFunctionList()
class GrammarNames (line 540) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v142/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 453) | private static bool IsCellReference(IList<ParserReference> references)
method IsRange (line 461) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 479) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 521) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v142/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 32) | public ParserReference(ReferenceType referenceType, string locationStr...
method ParserReference (line 46) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 58) | public void InitializeReference(ParseTreeNode node)
method ConvertColumnToStr (line 126) | private string ConvertColumnToStr(int columnNumber)
method ToString (line 137) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v142/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v150/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 11) | [Language("Excel Formulas", "1.5.0", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 248) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 467) | private static class Precedence
class TerminalPriority (line 486) | private static class TerminalPriority
method GetExcelFunctionList (line 524) | private static string[] GetExcelFunctionList()
class GrammarNames (line 542) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v150/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 453) | private static bool IsCellReference(IList<ParserReference> references)
method IsRange (line 461) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 479) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 521) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v150/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 32) | public ParserReference(ReferenceType referenceType, string locationStr...
method ParserReference (line 46) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 58) | public void InitializeReference(ParseTreeNode node)
method ConvertColumnToStr (line 126) | private string ConvertColumnToStr(int columnNumber)
method ToString (line 137) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v150/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v151/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 11) | [Language("Excel Formulas", "1.5.1", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 247) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 467) | private static class Precedence
class TerminalPriority (line 486) | private static class TerminalPriority
method GetExcelFunctionList (line 524) | private static string[] GetExcelFunctionList()
class GrammarNames (line 542) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v151/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 453) | private static bool IsCellReference(IList<ParserReference> references)
method IsRange (line 461) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 479) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 521) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v151/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 32) | public ParserReference(ReferenceType referenceType, string locationStr...
method ParserReference (line 46) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 58) | public void InitializeReference(ParseTreeNode node)
method ConvertColumnToStr (line 126) | private string ConvertColumnToStr(int columnNumber)
method ToString (line 137) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v151/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v152/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 11) | [Language("Excel Formulas", "1.5.2", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 249) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 469) | private static class Precedence
class TerminalPriority (line 488) | private static class TerminalPriority
method GetExcelFunctionList (line 527) | private static string[] GetExcelFunctionList()
class GrammarNames (line 545) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v152/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 453) | private static bool IsCellReference(IList<ParserReference> references)
method IsRange (line 461) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 479) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 521) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v152/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 32) | public ParserReference(ReferenceType referenceType, string locationStr...
method ParserReference (line 46) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 58) | public void InitializeReference(ParseTreeNode node)
method ConvertColumnToStr (line 126) | private string ConvertColumnToStr(int columnNumber)
method ToString (line 137) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v152/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v160/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 11) | [Language("Excel Formulas", "1.6.0", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 247) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 468) | private static class Precedence
class TerminalPriority (line 487) | private static class TerminalPriority
method GetExcelFunctionList (line 526) | private static string[] GetExcelFunctionList()
class GrammarNames (line 544) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v160/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 453) | private static bool IsCellReference(IList<ParserReference> references)
method IsRange (line 461) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 479) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 521) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v160/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 34) | public ParserReference(ReferenceType referenceType, string locationStr...
method ParserReference (line 51) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 63) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 129) | private string UnEscape(string value, string escapeCharacter)
method ConvertColumnToStr (line 138) | private string ConvertColumnToStr(int columnNumber)
method ToString (line 149) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v160/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v161/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 11) | [Language("Excel Formulas", "1.6.1", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 247) | public ExcelFormulaGrammar() : base(false)
class Precedence (line 469) | private static class Precedence
class TerminalPriority (line 488) | private static class TerminalPriority
method GetExcelFunctionList (line 527) | private static string[] GetExcelFunctionList()
class GrammarNames (line 545) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v161/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 460) | private static bool IsCellReference(IList<ParserReference> references)
method IsTableReference (line 465) | private static bool IsTableReference(IList<ParserReference> references)
method IsRange (line 473) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 490) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 532) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v161/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 34) | public ParserReference(ReferenceType referenceType, string locationStr...
method ParserReference (line 51) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 63) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 129) | private string UnEscape(string value, string escapeCharacter)
method ConvertColumnToStr (line 138) | private string ConvertColumnToStr(int columnNumber)
method ToString (line 149) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v161/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v162/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 14) | [Language("Excel Formulas", "1.6.2", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 267) | public ExcelFormulaGrammar()
class Precedence (line 489) | private static class Precedence
class TerminalPriority (line 508) | private static class TerminalPriority
method GetExcelFunctionList (line 547) | private static string[] GetExcelFunctionList()
class GrammarNames (line 565) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v162/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 460) | private static bool IsCellReference(IList<ParserReference> references)
method IsTableReference (line 465) | private static bool IsTableReference(IList<ParserReference> references)
method IsRange (line 473) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 490) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 532) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v162/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 34) | public ParserReference(ReferenceType referenceType, string locationStr...
method ParserReference (line 51) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 63) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 129) | private string UnEscape(string value, string escapeCharacter)
method ConvertColumnToStr (line 138) | private string ConvertColumnToStr(int columnNumber)
method ToString (line 149) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v162/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v162/WordsTerminal.cs
class WordsTerminal (line 12) | public class WordsTerminal : Terminal
method WordsTerminal (line 18) | public WordsTerminal(string name, IEnumerable<string> words) : base(name)
method Init (line 24) | public override void Init(GrammarData grammarData)
method GetFirsts (line 39) | public override IList<string> GetFirsts() => _words;
method TryMatch (line 41) | public override Token TryMatch(ParsingContext context, ISourceStream s...
method AddWordToTree (line 66) | private void AddWordToTree(string word)
class Node (line 77) | private class Node
method Node (line 83) | public Node(int length)
method GetOrAddChild (line 110) | internal Node GetOrAddChild(char c)
FILE: app/XLParser.Web/XLParserVersions/v163/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 14) | [Language("Excel Formulas", "1.6.3", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 270) | public ExcelFormulaGrammar()
class Precedence (line 492) | private static class Precedence
class TerminalPriority (line 511) | private static class TerminalPriority
method GetExcelFunctionList (line 550) | private static string[] GetExcelFunctionList()
class GrammarNames (line 568) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v163/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 463) | private static bool IsCellReference(IList<ParserReference> references)
method IsTableReference (line 468) | private static bool IsTableReference(IList<ParserReference> references)
method IsRange (line 476) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 493) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 535) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v163/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 32) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 44) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 111) | private string UnEscape(string value, string escapeCharacter)
method ToString (line 116) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v163/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v163/WordsTerminal.cs
class WordsTerminal (line 12) | public class WordsTerminal : Terminal
method WordsTerminal (line 18) | public WordsTerminal(string name, IEnumerable<string> words) : base(name)
method Init (line 24) | public override void Init(GrammarData grammarData)
method GetFirsts (line 39) | public override IList<string> GetFirsts() => _words;
method TryMatch (line 41) | public override Token TryMatch(ParsingContext context, ISourceStream s...
method AddWordToTree (line 66) | private void AddWordToTree(string word)
class Node (line 77) | private class Node
method Node (line 83) | public Node(int length)
method GetOrAddChild (line 110) | internal Node GetOrAddChild(char c)
FILE: app/XLParser.Web/XLParserVersions/v170/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 14) | [Language("Excel Formulas", "1.7.0", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 270) | public ExcelFormulaGrammar()
class Precedence (line 493) | private static class Precedence
class TerminalPriority (line 512) | private static class TerminalPriority
method GetExcelFunctionList (line 551) | private static string[] GetExcelFunctionList()
class GrammarNames (line 569) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v170/ExcelFormulaParser.cs
class ExcelFormulaParser (line 13) | public static class ExcelFormulaParser
method Parse (line 33) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 46) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsCellReference (line 463) | private static bool IsCellReference(IList<ParserReference> references)
method IsTableReference (line 468) | private static bool IsTableReference(IList<ParserReference> references)
method IsRange (line 476) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 493) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 535) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v170/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 17) | public class ParserReference
method ParserReference (line 32) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 44) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 111) | private string UnEscape(string value, string escapeCharacter)
method ToString (line 116) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v170/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v170/WordsTerminal.cs
class WordsTerminal (line 12) | public class WordsTerminal : Terminal
method WordsTerminal (line 18) | public WordsTerminal(string name, IEnumerable<string> words) : base(name)
method Init (line 24) | public override void Init(GrammarData grammarData)
method GetFirsts (line 39) | public override IList<string> GetFirsts() => _words;
method TryMatch (line 41) | public override Token TryMatch(ParsingContext context, ISourceStream s...
method AddWordToTree (line 66) | private void AddWordToTree(string word)
class Node (line 77) | private class Node
method Node (line 83) | public Node(int length)
method GetOrAddChild (line 110) | internal Node GetOrAddChild(char c)
FILE: app/XLParser.Web/XLParserVersions/v171/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 14) | [Language("Excel Formulas", "1.7.1", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 270) | public ExcelFormulaGrammar()
class Precedence (line 493) | private static class Precedence
class TerminalPriority (line 512) | private static class TerminalPriority
method GetExcelFunctionList (line 551) | private static string[] GetExcelFunctionList()
class GrammarNames (line 569) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v171/ExcelFormulaParser.cs
class ExcelFormulaParser (line 12) | public static class ExcelFormulaParser
method Parse (line 32) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 45) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 78) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 104) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 112) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 117) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 128) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 139) | public static string Type(this ParseTreeNode node)
method Is (line 147) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 155) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 168) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 181) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 188) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 193) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 198) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 203) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 210) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 218) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 227) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 260) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 268) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 309) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 318) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 327) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 337) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 344) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 349) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 357) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 367) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 372) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 384) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 404) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsRange (line 459) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 476) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 518) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v171/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 18) | public class ParserReference
method ParserReference (line 33) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 45) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 121) | private string UnEscape(string value, string escapeCharacter)
method ToString (line 126) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v171/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v171/WordsTerminal.cs
class WordsTerminal (line 12) | public class WordsTerminal : Terminal
method WordsTerminal (line 18) | public WordsTerminal(string name, IEnumerable<string> words) : base(name)
method Init (line 24) | public override void Init(GrammarData grammarData)
method GetFirsts (line 39) | public override IList<string> GetFirsts() => _words;
method TryMatch (line 41) | public override Token TryMatch(ParsingContext context, ISourceStream s...
method AddWordToTree (line 66) | private void AddWordToTree(string word)
class Node (line 77) | private class Node
method Node (line 83) | public Node(int length)
method GetOrAddChild (line 110) | internal Node GetOrAddChild(char c)
FILE: app/XLParser.Web/XLParserVersions/v172/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 14) | [Language("Excel Formulas", "1.7.2", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 270) | public ExcelFormulaGrammar()
class Precedence (line 493) | private static class Precedence
class TerminalPriority (line 512) | private static class TerminalPriority
method GetExcelFunctionList (line 551) | private static string[] GetExcelFunctionList()
class GrammarNames (line 569) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v172/ExcelFormulaParser.cs
class ExcelFormulaParser (line 12) | public static class ExcelFormulaParser
method Parse (line 32) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 45) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 78) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 104) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 112) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 117) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 128) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 139) | public static string Type(this ParseTreeNode node)
method Is (line 147) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 155) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 168) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 181) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 188) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 193) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 198) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 203) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 210) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 218) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 227) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 260) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 268) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 309) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 318) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 327) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 337) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 344) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 349) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 357) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 367) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 372) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 384) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 404) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsRange (line 460) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 477) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 519) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v172/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 18) | public class ParserReference
method ParserReference (line 33) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 45) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 121) | private string UnEscape(string value, string escapeCharacter)
method ToString (line 126) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v172/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v172/WordsTerminal.cs
class WordsTerminal (line 12) | public class WordsTerminal : Terminal
method WordsTerminal (line 18) | public WordsTerminal(string name, IEnumerable<string> words) : base(name)
method Init (line 24) | public override void Init(GrammarData grammarData)
method GetFirsts (line 39) | public override IList<string> GetFirsts() => _words;
method TryMatch (line 41) | public override Token TryMatch(ParsingContext context, ISourceStream s...
method AddWordToTree (line 66) | private void AddWordToTree(string word)
class Node (line 77) | private class Node
method Node (line 83) | public Node(int length)
method GetOrAddChild (line 110) | internal Node GetOrAddChild(char c)
FILE: app/XLParser.Web/XLParserVersions/v173/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 14) | [Language("Excel Formulas", "1.7.3", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 270) | public ExcelFormulaGrammar()
class Precedence (line 493) | private static class Precedence
class TerminalPriority (line 512) | private static class TerminalPriority
method GetExcelFunctionList (line 551) | private static string[] GetExcelFunctionList()
class GrammarNames (line 569) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v173/ExcelFormulaParser.cs
class ExcelFormulaParser (line 12) | public static class ExcelFormulaParser
method Parse (line 32) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 45) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 78) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 104) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 112) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 117) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 128) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 139) | public static string Type(this ParseTreeNode node)
method Is (line 147) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 155) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 168) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 181) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 188) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 193) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 198) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 203) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 210) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 218) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 227) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 260) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 268) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 309) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 318) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 327) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 337) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 344) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 349) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 357) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 367) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 372) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 384) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 404) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsRange (line 460) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 477) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 519) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v173/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 18) | public class ParserReference
method ParserReference (line 33) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 45) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 121) | private string UnEscape(string value, string escapeCharacter)
method ToString (line 126) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v173/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v173/WordsTerminal.cs
class WordsTerminal (line 12) | public class WordsTerminal : Terminal
method WordsTerminal (line 18) | public WordsTerminal(string name, IEnumerable<string> words) : base(name)
method Init (line 24) | public override void Init(GrammarData grammarData)
method GetFirsts (line 39) | public override IList<string> GetFirsts() => _words;
method TryMatch (line 41) | public override Token TryMatch(ParsingContext context, ISourceStream s...
method AddWordToTree (line 66) | private void AddWordToTree(string word)
class Node (line 77) | private class Node
method Node (line 83) | public Node(int length)
method GetOrAddChild (line 110) | internal Node GetOrAddChild(char c)
FILE: app/XLParser.Web/XLParserVersions/v174/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 14) | [Language("Excel Formulas", "1.7.4", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 270) | public ExcelFormulaGrammar()
class Precedence (line 495) | private static class Precedence
class TerminalPriority (line 514) | private static class TerminalPriority
method GetExcelFunctionList (line 553) | private static string[] GetExcelFunctionList()
class GrammarNames (line 571) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v174/ExcelFormulaParser.cs
class ExcelFormulaParser (line 12) | public static class ExcelFormulaParser
method Parse (line 32) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 45) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 78) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 104) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 112) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 117) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 128) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 139) | public static string Type(this ParseTreeNode node)
method Is (line 147) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 155) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 168) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 181) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 188) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 193) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 198) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 203) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 210) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 218) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 227) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 260) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 268) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 309) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 318) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 327) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 337) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 344) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 349) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 357) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 367) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 372) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 384) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 404) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsRange (line 460) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 477) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 519) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v174/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 18) | public class ParserReference
method ParserReference (line 33) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 45) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 121) | private string UnEscape(string value, string escapeCharacter)
method ToString (line 126) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v174/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixQuotedSheetNodeForWhitespace (line 133) | internal static void FixQuotedSheetNodeForWhitespace(ParseTreeNode quo...
method GetSheetNamePositionFromSourceText (line 150) | private static int GetSheetNamePositionFromSourceText(ParseTreeNode no...
method Substr (line 167) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 172) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 173) | public bool Equals(PrefixInfo other)
method GetHashCode (line 180) | public override int GetHashCode()
method ToString (line 203) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v174/WordsTerminal.cs
class WordsTerminal (line 12) | public class WordsTerminal : Terminal
method WordsTerminal (line 18) | public WordsTerminal(string name, IEnumerable<string> words) : base(name)
method Init (line 24) | public override void Init(GrammarData grammarData)
method GetFirsts (line 39) | public override IList<string> GetFirsts() => _words;
method TryMatch (line 41) | public override Token TryMatch(ParsingContext context, ISourceStream s...
method AddWordToTree (line 66) | private void AddWordToTree(string word)
class Node (line 77) | private class Node
method Node (line 83) | public Node(int length)
method GetOrAddChild (line 110) | internal Node GetOrAddChild(char c)
FILE: app/XLParser.Web/XLParserVersions/v175/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 14) | [Language("Excel Formulas", "1.7.5", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 270) | public ExcelFormulaGrammar()
class Precedence (line 495) | private static class Precedence
class TerminalPriority (line 514) | private static class TerminalPriority
method GetExcelFunctionList (line 553) | private static string[] GetExcelFunctionList()
class GrammarNames (line 571) | public static class GrammarNames
FILE: app/XLParser.Web/XLParserVersions/v175/ExcelFormulaParser.cs
class ExcelFormulaParser (line 12) | public static class ExcelFormulaParser
method Parse (line 32) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 45) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsRange (line 461) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 478) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 520) | public static string Print(this ParseTreeNode input)
FILE: app/XLParser.Web/XLParserVersions/v175/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 18) | public class ParserReference
method ParserReference (line 33) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 45) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 121) | private string UnEscape(string value, string escapeCharacter)
method ToString (line 126) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v175/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixPrecedingWhiteSpaces (line 139) | internal static void FixPrecedingWhiteSpaces(ParseTreeNode parseTreeNo...
method GetNodePositionFromSourceText (line 156) | private static int GetNodePositionFromSourceText(ParseTreeNode nodeShe...
method Substr (line 173) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 178) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 179) | public bool Equals(PrefixInfo other)
method GetHashCode (line 186) | public override int GetHashCode()
method ToString (line 209) | public override string ToString()
FILE: app/XLParser.Web/XLParserVersions/v175/WordsTerminal.cs
class WordsTerminal (line 12) | public class WordsTerminal : Terminal
method WordsTerminal (line 18) | public WordsTerminal(string name, IEnumerable<string> words) : base(name)
method Init (line 24) | public override void Init(GrammarData grammarData)
method GetFirsts (line 39) | public override IList<string> GetFirsts() => _words;
method TryMatch (line 41) | public override Token TryMatch(ParsingContext context, ISourceStream s...
method AddWordToTree (line 66) | private void AddWordToTree(string word)
class Node (line 77) | private class Node
method Node (line 83) | public Node(int length)
method GetOrAddChild (line 110) | internal Node GetOrAddChild(char c)
FILE: app/XLParser.Web/d3vizsvg.js
function newTree (line 18) | function newTree(formula, version) {
function update (line 99) | function update(source) {
function treeWidth (line 147) | function treeWidth(node) {
function treeHeight (line 158) | function treeHeight(node) {
function generateImageData (line 169) | function generateImageData(imgw, imgh) {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/GrammarItemList.cs
class GrammarItem (line 27) | public class GrammarItem {
method GrammarItem (line 33) | public GrammarItem(string caption, string location, string typeName) {
method GrammarItem (line 38) | public GrammarItem(Type grammarClass, string assemblyLocation) {
method GrammarItem (line 55) | public GrammarItem(XmlElement element) {
method Save (line 60) | public void Save(XmlElement toElement) {
method ToString (line 65) | public override string ToString() {
class GrammarItemList (line 71) | public class GrammarItemList : List<GrammarItem> {
method FromXml (line 72) | public static GrammarItemList FromXml(string xml) {
method FromCombo (line 83) | public static GrammarItemList FromCombo(ComboBox combo) {
method ToXml (line 90) | public string ToXml() {
method ShowIn (line 102) | public void ShowIn(ComboBox combo) {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/GrammarLoader.cs
class GrammarLoader (line 28) | class GrammarLoader {
method GrammarLoader (line 36) | static GrammarLoader() {
method FindAssembly (line 41) | static Assembly FindAssembly(string assemblyName) {
method BrowseFor (line 70) | static string BrowseFor(string assemblyName) {
class CachedAssembly (line 82) | class CachedAssembly {
method CreateGrammar (line 94) | public Grammar CreateGrammar() {
method CreateFileWatcher (line 140) | private FileSystemWatcher CreateFileWatcher(string location) {
method OnAssemblyUpdated (line 178) | private void OnAssemblyUpdated(string location) {
method LoadAssembly (line 184) | public static Assembly LoadAssembly(string fileName) {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/EditorAdapter.cs
class EditorAdapter (line 24) | public class EditorAdapter {
method EditorAdapter (line 35) | public EditorAdapter(LanguageData language) {
method Activate (line 43) | public void Activate() {
method Stop (line 50) | public void Stop() {
method SetNewText (line 64) | public void SetNewText(string text) {
method ParseSource (line 75) | private void ParseSource(string newText) {
method AddView (line 88) | public void AddView(EditorViewAdapter view) {
method RemoveView (line 94) | public void RemoveView(EditorViewAdapter view) {
method GetViews (line 100) | private EditorViewAdapterList GetViews() {
method ParserLoop (line 113) | private void ParserLoop() {
method ColorizerLoop (line 129) | private void ColorizerLoop() {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/EditorViewAdapter.cs
type IUIThreadInvoker (line 22) | public interface IUIThreadInvoker {
method InvokeOnUIThread (line 23) | void InvokeOnUIThread(ColorizeMethod colorize);
class ColorizeEventArgs (line 26) | public class ColorizeEventArgs : EventArgs {
method ColorizeEventArgs (line 28) | public ColorizeEventArgs(TokenList tokens) {
class ViewRange (line 35) | public class ViewRange {
method ViewRange (line 37) | public ViewRange(int min, int max) {
method Equals (line 41) | public bool Equals(ViewRange other) {
class ViewData (line 46) | public class ViewData {
method ViewData (line 51) | public ViewData(ParseTree tree) {
class EditorViewAdapterList (line 67) | public class EditorViewAdapterList : List<EditorViewAdapter> { }
class EditorViewAdapter (line 69) | public class EditorViewAdapter {
method EditorViewAdapter (line 79) | public EditorViewAdapter(EditorAdapter adapter, IUIThreadInvoker invok...
method SetViewRange (line 87) | public void SetViewRange(int min, int max) {
method SetNewText (line 94) | public void SetNewText(string newText) {
method UpdateParsedSource (line 104) | public void UpdateParsedSource(ParseTree newTree) {
method TryInvokeColorize (line 122) | public void TryInvokeColorize() {
method Colorize (line 128) | private void Colorize() {
method DetectAlreadyColoredTokens (line 146) | private void DetectAlreadyColoredTokens(TokenList oldColoredTokens, in...
method FindMatchingToken (line 161) | private bool FindMatchingToken(TokenList inTokens, Token token, int sh...
method TokensMatch (line 171) | public bool TokensMatch(Token x, Token y, int shift) {
method ExtractTokensInRange (line 179) | public TokenList ExtractTokensInRange(TokenList tokens, int from, int ...
method GetTokensInRange (line 190) | public TokenList GetTokensInRange(int from, int until) {
method GetTokensInRange (line 195) | public TokenList GetTokensInRange(TokenList tokens, int from, int unti...
method LocateToken (line 208) | public int LocateToken(TokenList tokens, int position) {
method LocateTokenExt (line 215) | private int LocateTokenExt(TokenList tokens, int position, int fromInd...
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/FastColoredTextBoxHighlighter.cs
class FastColoredTextBoxHighlighter (line 37) | public class FastColoredTextBoxHighlighter : NativeWindow, IDisposable, ...
method FastColoredTextBoxHighlighter (line 51) | public FastColoredTextBoxHighlighter(FastColoredTextBox textBox, Langu...
method Connect (line 63) | private void Connect() {
method Disconnect (line 74) | private void Disconnect() {
method Dispose (line 86) | public void Dispose() {
method InitStyles (line 94) | private void InitStyles() {
method InitBraces (line 116) | private void InitBraces() {
method TextBox_MouseMove (line 143) | void TextBox_MouseMove(object sender, MouseEventArgs e) {
method TextBox_KeyDown (line 147) | void TextBox_KeyDown(object sender, KeyEventArgs e) {
method TextBox_TextChanged (line 151) | void TextBox_TextChanged(object sender, TextChangedEventArgs e) {
method TextBox_ScrollResize (line 157) | void TextBox_ScrollResize(object sender, EventArgs e) {
method TextBox_Disposed (line 161) | void TextBox_Disposed(object sender, EventArgs e) {
method UpdateViewRange (line 165) | private void UpdateViewRange() {
method SendMessage (line 174) | [DllImport("user32", CharSet = CharSet.Auto)]
method PostMessageA (line 177) | [DllImport("user32.dll")]
method GetScrollPos (line 180) | [DllImport("user32.dll", CharSet = CharSet.Auto)]
method SetScrollPos (line 183) | [DllImport("user32.dll")]
method LockTextBox (line 220) | public void LockTextBox() {
method UnlockTextBox (line 229) | public void UnlockTextBox() {
method Adapter_ColorizeTokens (line 237) | void Adapter_ColorizeTokens(object sender, ColorizeEventArgs args) {
method GetTokenStyle (line 254) | private Style GetTokenStyle(Token token) {
method InvokeOnUIThread (line 273) | public void InvokeOnUIThread(ColorizeMethod colorize) {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/RichTextBoxHighlighter.cs
class TokenColorTable (line 31) | public class TokenColorTable : Dictionary<TokenColor, Color> { }
class RichTextBoxHighlighter (line 33) | public class RichTextBoxHighlighter : NativeWindow, IDisposable, IUIThre...
method RichTextBoxHighlighter (line 44) | public RichTextBoxHighlighter(RichTextBox textBox, LanguageData langua...
method Connect (line 53) | private void Connect() {
method Disconnect (line 65) | private void Disconnect() {
method Dispose (line 78) | public void Dispose() {
method InitColorTable (line 86) | private void InitColorTable() {
method TextBox_MouseMove (line 99) | void TextBox_MouseMove(object sender, MouseEventArgs e) {
method TextBox_KeyDown (line 103) | void TextBox_KeyDown(object sender, KeyEventArgs e) {
method TextBox_TextChanged (line 107) | void TextBox_TextChanged(object sender, EventArgs e) {
method TextBox_ScrollResize (line 112) | void TextBox_ScrollResize(object sender, EventArgs e) {
method TextBox_Disposed (line 117) | void TextBox_Disposed(object sender, EventArgs e) {
method UpdateViewRange (line 120) | private void UpdateViewRange() {
method SendMessage (line 129) | [DllImport("user32", CharSet = CharSet.Auto)]
method PostMessageA (line 132) | [DllImport("user32.dll")]
method GetScrollPos (line 135) | [DllImport("user32.dll", CharSet = CharSet.Auto)]
method SetScrollPos (line 138) | [DllImport("user32.dll")]
method LockTextBox (line 175) | public void LockTextBox() {
method UnlockTextBox (line 183) | public void UnlockTextBox() {
method Adapter_ColorizeTokens (line 190) | void Adapter_ColorizeTokens(object sender, ColorizeEventArgs args) {
method GetTokenColor (line 216) | private Color GetTokenColor(Token token) {
method InvokeOnUIThread (line 234) | public void InvokeOnUIThread(ColorizeMethod colorize) {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/WavyLineStyle.cs
class WavyLineStyle (line 14) | public class WavyLineStyle : Style {
method WavyLineStyle (line 16) | public WavyLineStyle(int alpha, Color color) {
method Draw (line 22) | public override void Draw(Graphics gr, Point pos, Range range) {
method DrawWavyLine (line 29) | private void DrawWavyLine(Graphics graphics, Point start, Point end) {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Program.cs
class Program (line 19) | class Program : MarshalByRefObject {
method Main (line 23) | [STAThread]
method CreateInstanceInSeparateDomain (line 29) | static Program CreateInstanceInSeparateDomain() {
method RunApplication (line 38) | void RunApplication() {
method Application_ThreadException (line 46) | static void Application_ThreadException(object sender, System.Threadin...
method CurrentDomain_UnhandledException (line 51) | static void CurrentDomain_UnhandledException(object sender, UnhandledE...
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Properties/Settings.Designer.cs
class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmGrammarExplorer.Designer.cs
class fmGrammarExplorer (line 2) | partial class fmGrammarExplorer {
method Dispose (line 12) | protected override void Dispose(bool disposing) {
method InitializeComponent (line 26) | private void InitializeComponent() {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmGrammarExplorer.cs
class fmGrammarExplorer (line 33) | public partial class fmGrammarExplorer : Form {
method fmGrammarExplorer (line 34) | public fmGrammarExplorer() {
method fmExploreGrammar_Load (line 50) | private void fmExploreGrammar_Load(object sender, EventArgs e) {
method fmExploreGrammar_FormClosing (line 65) | private void fmExploreGrammar_FormClosing(object sender, FormClosingEv...
method ClearLanguageInfo (line 80) | private void ClearLanguageInfo() {
method ClearParserOutput (line 87) | private void ClearParserOutput() {
method ShowLanguageInfo (line 102) | private void ShowLanguageInfo() {
method ShowCompilerErrors (line 112) | private void ShowCompilerErrors() {
method ShowParseTrace (line 123) | private void ShowParseTrace() {
method ShowCompileStats (line 137) | private void ShowCompileStats() {
method ShowParseTree (line 149) | private void ShowParseTree() {
method AddParseNodeRec (line 154) | private void AddParseNodeRec(TreeNode parent, ParseTreeNode node) {
method ShowAstTree (line 163) | private void ShowAstTree() {
method AddAstNodeRec (line 169) | private void AddAstNodeRec(TreeNode parent, object astNode) {
method ShowParserConstructionResults (line 182) | private void ShowParserConstructionResults() {
method ShowGrammarErrors (line 198) | private void ShowGrammarErrors() {
method ShowSourcePosition (line 208) | private void ShowSourcePosition(int position, int length) {
method ShowSourcePositionAndTraceToken (line 219) | private void ShowSourcePositionAndTraceToken(int position, int length) {
method LocateParserState (line 230) | private void LocateParserState(ParserState state) {
method ShowRuntimeError (line 240) | private void ShowRuntimeError(ScriptException error){
method SelectTreeNode (line 257) | private void SelectTreeNode(TreeView tree, TreeNode node) {
method ClearRuntimeInfo (line 267) | private void ClearRuntimeInfo() {
method menuGrammars_Opening (line 277) | private void menuGrammars_Opening(object sender, CancelEventArgs e) {
method miAdd_Click (line 281) | private void miAdd_Click(object sender, EventArgs e) {
method miRemove_Click (line 298) | private void miRemove_Click(object sender, EventArgs e) {
method miRemoveAll_Click (line 310) | private void miRemoveAll_Click(object sender, EventArgs e) {
method CreateGrammar (line 321) | private void CreateGrammar() {
method CreateParser (line 325) | private void CreateParser() {
method ParseSample (line 338) | private void ParseSample() {
method RunSample (line 362) | private void RunSample() {
method WriteOutput (line 393) | private void WriteOutput(string text) {
method LoadSourceFile (line 402) | private void LoadSourceFile(string path) {
method StartHighlighter (line 423) | private void StartHighlighter() {
method StopHighlighter (line 431) | private void StopHighlighter() {
method ClearHighlighting (line 437) | private void ClearHighlighting() {
method EnableHighlighter (line 449) | private void EnableHighlighter(bool enable) {
method DoSearch (line 457) | private void DoSearch() {
method DoSearch (line 468) | private bool DoSearch(TextBoxBase textBox, string fragment, int start) {
method GetSearchContentBox (line 488) | public TextBoxBase GetSearchContentBox() {
method btnParse_Click (line 507) | private void btnParse_Click(object sender, EventArgs e) {
method btnRun_Click (line 511) | private void btnRun_Click(object sender, EventArgs e) {
method tvParseTree_AfterSelect (line 515) | private void tvParseTree_AfterSelect(object sender, TreeViewEventArgs ...
method tvAst_AfterSelect (line 525) | private void tvAst_AfterSelect(object sender, TreeViewEventArgs e) {
method LoadSelectedGrammar (line 536) | private void LoadSelectedGrammar() {
method cboGrammars_SelectedIndexChanged (line 552) | private void cboGrammars_SelectedIndexChanged(object sender, EventArgs...
method GrammarAssemblyUpdated (line 557) | private void GrammarAssemblyUpdated(object sender, EventArgs args) {
method btnRefresh_Click (line 568) | private void btnRefresh_Click(object sender, EventArgs e) {
method btnFileOpen_Click (line 572) | private void btnFileOpen_Click(object sender, EventArgs e) {
method txtSource_TextChanged (line 578) | private void txtSource_TextChanged(object sender, FastColoredTextBoxNS...
method btnManageGrammars_Click (line 582) | private void btnManageGrammars_Click(object sender, EventArgs e) {
method cboParseMethod_SelectedIndexChanged (line 586) | private void cboParseMethod_SelectedIndexChanged(object sender, EventA...
method gridParserTrace_CellDoubleClick (line 593) | private void gridParserTrace_CellDoubleClick(object sender, DataGridVi...
method lstTokens_Click (line 612) | private void lstTokens_Click(object sender, EventArgs e) {
method gridCompileErrors_CellDoubleClick (line 619) | private void gridCompileErrors_CellDoubleClick(object sender, DataGrid...
method gridGrammarErrors_CellDoubleClick (line 634) | private void gridGrammarErrors_CellDoubleClick(object sender, DataGrid...
method btnSearch_Click (line 641) | private void btnSearch_Click(object sender, EventArgs e) {
method txtSearch_KeyPress (line 645) | private void txtSearch_KeyPress(object sender, KeyPressEventArgs e) {
method lnkShowErrLocation_LinkClicked (line 650) | private void lnkShowErrLocation_LinkClicked(object sender, LinkLabelLi...
method lnkShowErrStack_LinkClicked (line 655) | private void lnkShowErrStack_LinkClicked(object sender, LinkLabelLinkC...
method btnLocate_Click (line 663) | private void btnLocate_Click(object sender, EventArgs e) {
method LocateTreeNode (line 674) | private TreeNode LocateTreeNode(TreeNodeCollection nodes, int position...
method chkDisableHili_CheckedChanged (line 687) | private void chkDisableHili_CheckedChanged(object sender, EventArgs e) {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmSelectGrammars.Designer.cs
class fmSelectGrammars (line 2) | partial class fmSelectGrammars {
method Dispose (line 12) | protected override void Dispose(bool disposing) {
method InitializeComponent (line 25) | private void InitializeComponent() {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmSelectGrammars.cs
class fmSelectGrammars (line 26) | public partial class fmSelectGrammars : Form {
method fmSelectGrammars (line 27) | public fmSelectGrammars() {
method SelectGrammars (line 31) | public static GrammarItemList SelectGrammars(string assemblyPath, Gram...
method LoadGrammars (line 58) | private static GrammarItemList LoadGrammars(string assemblyPath) {
method ContainsGrammar (line 80) | private static bool ContainsGrammar(GrammarItemList items, GrammarItem...
method btnCheckUncheck_Click (line 87) | private void btnCheckUncheck_Click(object sender, EventArgs e) {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmShowException.Designer.cs
class fmShowException (line 2) | partial class fmShowException {
method Dispose (line 12) | protected override void Dispose(bool disposing) {
method InitializeComponent (line 25) | private void InitializeComponent() {
FILE: lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmShowException.cs
class fmShowException (line 22) | public partial class fmShowException : Form {
method fmShowException (line 23) | public fmShowException() {
method ShowException (line 26) | public static void ShowException(Exception ex) {
FILE: src/XLParser.Tests/DatasetTests.cs
class DatasetTests (line 10) | [TestClass]
method EnronFormulasParseTest (line 18) | [TestMethod]
method EusesFormulasParseTest (line 25) | [TestMethod]
method ParseTestFormulasStructuredReferences (line 32) | [TestMethod]
method ParseTestFormulasUserContributed (line 38) | [TestMethod]
method ParseCsvDataSet (line 44) | private void ParseCsvDataSet(string filename, string knownFailsFile = ...
method ReadFormulaCsv (line 80) | private static IEnumerable<string> ReadFormulaCsv(string f)
method UnQuote (line 85) | private static string UnQuote(string line)
FILE: src/XLParser.Tests/FormulaAnalysisTest.cs
class FormulaAnalysisTest (line 8) | [TestClass]
method FixedNumbers (line 12) | [TestMethod]
method NoFixedNumbers (line 23) | [TestMethod]
method FixedInt (line 31) | [TestMethod]
method FixedReal (line 40) | [TestMethod]
method Duplicate (line 49) | [TestMethod]
method NegativeNumber (line 58) | [TestMethod]
method CountInfixOperations (line 68) | [TestMethod]
method CountFunctionOperations (line 78) | [TestMethod]
method CountPostfixOperations (line 87) | [TestMethod]
method DontCountSheetReferenes (line 96) | [TestMethod]
method CountComparisons (line 104) | [TestMethod]
method ComparisonIsFunction (line 114) | [TestMethod]
method IntersectIsFunction (line 121) | [TestMethod]
method IntersectIsAtCorrectPosition (line 129) | [TestMethod]
method OnlyDirectReferences (line 141) | [TestMethod]
method SimpleReference (line 153) | [TestMethod]
method RangeReference (line 163) | [TestMethod]
method VRangeReferenceLong (line 174) | [TestMethod]
method VRangeReferenceLarge (line 185) | [TestMethod]
method VRangeReferenceShort (line 196) | [TestMethod]
method NamedRangeReference (line 207) | [TestMethod]
method NamedRangeWithPrefixReference (line 217) | [TestMethod]
method NamedRangeWithUnderscoreReference (line 228) | [TestMethod]
method TableReference (line 238) | [TestMethod]
method StructuredTableReferenceHeaders (line 248) | [TestMethod]
method StructuredTableReferenceThisRow (line 260) | [TestMethod]
method StructuredTableReferenceCurrentRow (line 272) | [TestMethod]
method StructuredTableReferenceWholeRow (line 285) | [TestMethod]
method StructuredTableReferenceColumns (line 297) | [TestMethod]
method StructuredTableReferenceRowAndColumn (line 309) | [TestMethod]
method StructuredTableReferenceWithEscapedCharacterPound (line 321) | [TestMethod]
method StructuredTableReferenceWithEscapedCharacterBracket (line 333) | [TestMethod]
method StructuredTableReferenceWithEscapedCharacterQuote (line 345) | [TestMethod]
method StructuredTableReferenceUnqualified (line 357) | [TestMethod]
method StructuredTableReferenceUnqualifiedWithSpaceInName (line 369) | [TestMethod]
method StructuredTableReferenceUnqualifiedWithNumbers (line 381) | [TestMethod]
method StructuredTableReferenceSpecifierAndColumns (line 393) | [TestMethod]
method StructuredTableReferenceSpecifiersAndColumn (line 405) | [TestMethod]
method StructuredTableReferenceMultipleRows (line 417) | [TestMethod]
method StructuredTableReferenceMultipleColumns (line 429) | [TestMethod]
method StructuredTableReferenceMultipleHeaders (line 450) | [TestMethod]
method StructuredTableReferenceIntersectColumns (line 463) | [TestMethod]
method StructuredTableReferenceIntersectDifferentSpecifiers (line 475) | [TestMethod]
method StructuredTableReferenceIntersectDifferentTables (line 487) | [TestMethod]
method StructuredTableReferenceWithSheetReference (line 505) | [TestMethod]
method StructuredTableReferenceWithPrecedingSpace (line 524) | [TestMethod]
method StructuredTableReferenceWithTrailingSpaces (line 537) | [TestMethod]
method StructuredTableReferenceWithPrecedingAndTrailingSpaces (line 550) | [TestMethod]
method SheetWithUnderscore (line 563) | [TestMethod]
method SheetWithPeriod (line 589) | [TestMethod]
method SheetAsString (line 596) | [TestMethod]
method SheetWithQuote (line 603) | [TestMethod]
method ExternalSheetWithQuote (line 612) | [TestMethod]
method NonNumericExternalSheet (line 622) | [TestMethod]
method ExternalWorkbook (line 632) | [TestMethod]
method ExternalWorkbookUrlPathHttp (line 643) | [TestMethod]
method ExternalWorkbookUrlPathHttpWithSpaceInPath (line 654) | [TestMethod]
method ExternalWorkbookUrlPathHttpWithSpaceInDocument (line 666) | [TestMethod]
method ExternalWorkbookUrlPathHttpWithTildeInPath (line 678) | [TestMethod]
method ExternalWorkbookUrlPathHttpWithBackslashInPath (line 690) | [TestMethod]
method ExternalWorkbookUrlPathHttpWithPortNumberInPath (line 702) | [TestMethod]
method ExternalWorkbookUrlPathHttpWithSpecialLetters (line 714) | [TestMethod]
method ExternalWorkbookUrlPathHttpWithEscapedSingleQuote (line 726) | [TestMethod]
method ExternalWorkbookNetworkPath (line 738) | [TestMethod]
method ExternalWorkbookNetworkPathWithTilde (line 749) | [TestMethod]
method ExternalWorkbookNetworkPathWithSpace (line 761) | [TestMethod]
method ExternalWorkbookNetworkPathWithoutSpaceInFolder (line 773) | [TestMethod]
method ExternalWorkbookNetworkPathWithQuotes (line 785) | [TestMethod]
method ExternalWorkbookNetworkPathWithQuotesAndSpaces (line 797) | [TestMethod]
method ExternalWorkbookNetworkPathWithQuotesAndSpaceInFolder (line 809) | [TestMethod]
method ExternalWorkbookNetworkPathWithQuotesAndSpaceInDocument (line 821) | [TestMethod]
method ExternalWorkbookUrlPathHttps (line 833) | [TestMethod]
method ExternalWorkbookDocumentWithoutBracketsWithSpace (line 844) | [TestMethod]
method ExternalWorkbookDocumentWithoutBrackets (line 856) | [TestMethod]
method ExternalWorkbookRelativePath (line 868) | [TestMethod]
method ExternalWorkbookRelativePathIsDefinedName (line 879) | [TestMethod]
method ExternalWorkbookUrlPathHttpWithRoundBracketsInDocument (line 889) | [TestMethod]
method ExternalWorkbookUrlPathHttpWithRoundBrackets (line 901) | [TestMethod]
method ExternalWorkbookPathWithRoundBracketsInDocument (line 913) | [TestMethod]
method ExternalWorkbookPathWithRoundBrackets (line 925) | [TestMethod]
method ExternalWorkbookSingleCell (line 937) | [TestMethod]
method ExternalWorkbookCellRange (line 948) | [TestMethod]
method ExternalWorkbookDefinedNameLocalScope (line 959) | [TestMethod]
method ExternalWorkbookDefinedNameGlobalScope (line 971) | [TestMethod]
method MultipleExternalWorkbookSingleCell (line 982) | [TestMethod]
method MultipleExternalWorkbookCellRange (line 999) | [TestMethod]
method MultipleExternalWorkbookDefinedNameLocalScope (line 1018) | [TestMethod]
method MultipleExternalWorkbookDefinedNameGlobalScope (line 1035) | [TestMethod]
method ExternalWorkbookWithQuoteInSheet (line 1050) | [TestMethod]
method ExternalWorkbooksWithATSign (line 1060) | [TestMethod]
method ExternalWorkbookWithColonAndSlash (line 1070) | [TestMethod]
method ExternalWorkbookWithXlsExtension (line 1080) | [TestMethod]
method ExternalWorkbookQuotesInPath (line 1090) | [TestMethod]
method MultipleExternalWorkbooksQuoteInPath (line 1100) | [TestMethod]
method DirectSheetReference (line 1113) | [TestMethod]
method SheetReference (line 1124) | [TestMethod]
method RelativeSheetReference (line 1135) | [TestMethod]
method FileReference (line 1143) | [TestMethod]
method FileReferenceInRange (line 1157) | [TestMethod]
method QuotedFileReference (line 1172) | [TestMethod]
method SheetReferenceRange (line 1185) | [TestMethod]
method MultipleSheetsReferenceCell (line 1197) | [TestMethod]
method MultipleSheetsReferenceRange (line 1209) | [TestMethod]
method MultipleSheetsInFileReferenceCell (line 1222) | [TestMethod]
method MultipleSheetsReferenceQuoted (line 1234) | [TestMethod]
method RangeWithPrefixedRightLimitReference (line 1255) | [TestMethod]
method ReferencesInSingleColumn (line 1280) | [TestMethod]
method ReferencesInMultipleColumns (line 1292) | [TestMethod]
method ReferencesInSingleRow (line 1304) | [TestMethod]
method ReferencesInMultipleRows (line 1316) | [TestMethod]
method ReferencesInLargeRange (line 1328) | [TestMethod]
method AbsoluteColumnReference (line 1342) | [TestMethod]
method AbsoluteRowReference (line 1353) | [TestMethod]
method RefError (line 1364) | [TestMethod]
method RefErrorRange (line 1374) | [TestMethod]
method RefErrorCellRange (line 1384) | [TestMethod]
method IndirectFunctionRange (line 1394) | [TestMethod]
method ReferenceFunctionAsArgument (line 1402) | [TestMethod]
method RangeWithReferenceInFunction (line 1413) | [TestMethod]
method RangeWithReferencesInFunction (line 1424) | [TestMethod]
method ArrayAsArgument (line 1436) | [TestMethod]
method UnionWithinParentheses (line 1446) | [TestMethod]
method UnionWithoutParentheses (line 1456) | [TestMethod]
method MultiAreaRangeFormula (line 1467) | [TestMethod]
method UserDefinedFunction (line 1477) | [TestMethod]
method TestDepth (line 1496) | [TestMethod]
method TestConditionalComplexity (line 1504) | [TestMethod]
method TestConstants (line 1516) | [TestMethod]
FILE: src/XLParser.Tests/ParserTests.cs
class ParserTests (line 10) | [TestClass]
method NoGrammarConflicts (line 13) | [TestMethod]
method Parse (line 46) | private static ParseTreeNode Parse(string input)
method Test (line 51) | internal static void Test(string input, Predicate<ParseTreeNode> condi...
method Test (line 62) | private static void Test(IEnumerable<string> inputs, Predicate<ParseTr...
method Test (line 70) | private static void Test(params string[] inputs)
method BinaryOperators (line 78) | [TestMethod]
method UnaryOperators (line 87) | [TestMethod]
method NotAFunction (line 95) | [TestMethod]
method ExcelFunction (line 102) | [TestMethod]
method UserDefinedFunction (line 112) | [TestMethod]
method ExternalUserDefinedFunction (line 118) | [TestMethod]
method Bool (line 124) | [TestMethod]
method Number (line 131) | [TestMethod]
method Range (line 139) | [TestMethod]
method RangeWithIntersections (line 145) | [TestMethod]
method RangeWithParentheses (line 151) | [TestMethod]
method NamedRange (line 157) | [TestMethod]
method NamedRangeWithDigits (line 163) | [TestMethod]
method NamedRangeSingleChar (line 169) | [TestMethod]
method NamedRangeWithUnderscore (line 175) | [TestMethod]
method NamedRangeOthers (line 181) | [TestMethod]
method VRange (line 201) | [TestMethod]
method NamedCell (line 207) | [TestMethod]
method CellReference (line 213) | [TestMethod]
method MaxRowAddress (line 223) | [TestMethod]
method InvalidRowAddress (line 229) | [TestMethod]
method MaxColumnAddress (line 235) | [TestMethod]
method InvalidColumnAddress (line 241) | [TestMethod]
method TestErrorCodeNull (line 247) | [TestMethod]
method TestErrorCodeNullFormula (line 253) | [TestMethod]
method TestErrorCodeRef (line 259) | [TestMethod]
method TestErrorCodeRange (line 265) | [TestMethod]
method TestErrorCodeName (line 272) | [TestMethod]
method EmptyArgumentAllowed (line 279) | [TestMethod]
method NoArgumentsAllowed (line 287) | [TestMethod]
method TopLevelParentheses (line 293) | [TestMethod]
method TwoEmptyArgumentsAllowed (line 300) | [TestMethod]
method Union (line 306) | [TestMethod]
method BoolParses (line 313) | [TestMethod]
method LongSheetRefence (line 319) | [TestMethod]
method ShortSheetRefence (line 325) | [TestMethod]
method MultipleSheetRefence (line 331) | [TestMethod]
method MultipleSheetVSRange (line 340) | [TestMethod]
method DoublePrefixedRange (line 346) | [TestMethod]
method LongCellReference (line 352) | [TestMethod]
method Dollar (line 358) | [TestMethod]
method DollarRange (line 364) | [TestMethod]
method Comparison (line 370) | [TestMethod]
method AdditionalBrackets (line 376) | [TestMethod]
method VLOOKUP (line 382) | [TestMethod]
method Nested_Formula (line 388) | [TestMethod]
method Space_in_Sheetname (line 394) | [TestMethod]
method NonAlphaSheetname (line 400) | [TestMethod]
method Text_with_spaces (line 406) | [TestMethod]
method Text_with_Quotes (line 412) | [TestMethod]
method Text_with_escaped_quotes (line 420) | [TestMethod]
method TextWithEscapesAndDoubleQuotes (line 426) | [TestMethod]
method Text_with_linebreak (line 434) | [TestMethod]
method Text_with_dot (line 440) | [TestMethod]
method Text_with_comma (line 446) | [TestMethod]
method Testcase_Arie (line 452) | [TestMethod]
method Testcase_120 (line 458) | [TestMethod]
method Testcase_130_Inequality (line 464) | [TestMethod]
method Testcase_130_Compare_in_String (line 470) | [TestMethod]
method Testcase_439_VRange (line 476) | [TestMethod]
method Testcase_130_Empty_String (line 482) | [TestMethod]
method Testcase_437_NamedRange (line 488) | [TestMethod]
method Testcase_79_EmptyArgument (line 494) | [TestMethod]
method Testcase_524 (line 500) | [TestMethod]
method BracesInFormula (line 506) | [TestMethod]
method BracesSemicolonInFormula (line 512) | [TestMethod]
method xlmnInFormula (line 518) | [TestMethod]
method CellReferenceFunctionInFormula (line 524) | [TestMethod]
method xllInFormula (line 532) | [TestMethod]
method BigNumberInFormula (line 538) | [TestMethod]
method UDFWithNumericCharacters (line 544) | [TestMethod]
method UDFLikeNamedRangeCombination (line 550) | [TestMethod]
method UDFWithDot (line 556) | [TestMethod]
method NamedRangeReference (line 562) | [TestMethod]
method SheetWithUnderscore (line 569) | [TestMethod]
method SheetWithPeriod (line 575) | [TestMethod]
method SheetAsString (line 581) | [TestMethod]
method SheetWithQuote (line 587) | [TestMethod]
method ExternalSheetWithQuote (line 593) | [TestMethod]
method DirectSheetReference (line 599) | [TestMethod]
method SheetReference (line 605) | [TestMethod]
method FileReference (line 611) | [TestMethod]
method FileReferenceInRange (line 617) | [TestMethod]
method QuotedFileReference (line 623) | [TestMethod]
method TableReferenceWithSheetReference (line 629) | [TestMethod]
method SheetReferenceRange (line 639) | [TestMethod]
method MultipleSheetsReferenceCell (line 645) | [TestMethod]
method MultipleSheetsReferenceRange (line 651) | [TestMethod]
method MultipleSheetsInFileReferenceCell (line 657) | [TestMethod]
method RangeWithPrefixedRightLimitReference (line 663) | [TestMethod]
method ReferencesInSingleColumn (line 669) | [TestMethod]
method ReferencesInLargeRange (line 675) | [TestMethod]
method ReferenceFunctionAsArgument (line 681) | [TestMethod]
method RangeWithReferenceFunction (line 687) | [TestMethod]
method UnionArgument (line 693) | [TestMethod]
method DDE (line 699) | [TestMethod]
method ParsingFails (line 706) | [TestMethod]
method EqualsIsFunction (line 713) | [TestMethod]
method PercentIsFunction (line 719) | [TestMethod]
method FunctionsAsRefExpressions (line 725) | [TestMethod]
method Bug (line 731) | [TestMethod]
method TestIsParentheses (line 737) | [TestMethod]
method TestQuotedFileSheetWithPath (line 749) | [TestMethod]
method ExternalWorkbook (line 755) | [TestMethod]
method ExternalWorkbookNetworkPath (line 761) | [TestMethod]
method ExternalWorkbookUrlPathHttp (line 768) | [TestMethod]
method ExternalWorkbookUrlPathHttps (line 775) | [TestMethod]
method ExternalWorkbookRelativePath (line 782) | [TestMethod]
method ExternalWorkbookSingleCell (line 789) | [TestMethod]
method ExternalWorkbookCellRange (line 795) | [TestMethod]
method ExternalWorkbookDefinedNameLocalScope (line 801) | [TestMethod]
method ExternalWorkbookDefinedNameGlobalScope (line 807) | [TestMethod]
method MultipleExternalWorkbookSingleCell (line 814) | [TestMethod]
method MultipleExternalWorkbookCellRange (line 820) | [TestMethod]
method MultipleExternalWorkbookDefinedNameLocalScope (line 826) | [TestMethod]
method MultipleExternalWorkbookDefinedNameGlobalScope (line 832) | [TestMethod]
method ExternalWorkbookWithoutPath (line 838) | [TestMethod]
method ExternalWorkbookWithoutPathAndExtension (line 845) | [TestMethod]
method TestFilePathWithSpace (line 852) | [TestMethod]
method TestSpaceAsSheetName (line 869) | [TestMethod]
method SheetNamesWithSpacesCanBeExtractedCorrectly (line 877) | [TestMethod]
method SheetNameIsReferenceError (line 893) | [TestMethod]
method TestNamedRangeCombination (line 915) | [TestMethod]
method BackslashInEnclosedInBracketsToken (line 927) | [TestMethod]
method ParseUdfNamesWithSpecialCharacters (line 934) | [TestMethod]
method DoNotParseUdfNamesConsistingOnlyOfROrC (line 943) | [TestMethod]
method ImplicitIntersection (line 956) | [TestMethod]
method SpillError (line 967) | [TestMethod]
method SpillRangeReference (line 973) | [TestMethod]
method UnionOperator (line 981) | [TestMethod]
method SmbPaths (line 993) | [TestMethod]
FILE: src/XLParser.Tests/PrefixInfoTests.cs
class PrefixInfoTests (line 7) | [TestClass]
method test (line 10) | private PrefixInfo test(string prefix)
method TestSheet (line 17) | [TestMethod]
method TestSheetQuoted (line 26) | [TestMethod]
method TestFileNumericSheet (line 34) | [TestMethod]
method TestFileStringSheet (line 44) | [TestMethod]
method TestQuotedFileStringSheet (line 54) | [TestMethod]
method TestQuotedPathFileStringSheet (line 64) | [TestMethod]
method TestMultiplesheets (line 75) | [TestMethod]
method TestFileMultiplesheets (line 84) | [TestMethod]
FILE: src/XLParser.Tests/PrintTests.cs
class PrintTests (line 11) | [TestClass]
method TestNumber (line 14) | [TestMethod]
method TestUDF (line 22) | [TestMethod]
method TestExcelFunction (line 28) | [TestMethod]
method TestExcelFunctionCellRef (line 34) | [TestMethod]
method TestReference (line 40) | [TestMethod]
method TestRanges (line 48) | [TestMethod]
method TestNamedRanges (line 54) | [TestMethod]
method TestErrors (line 60) | [TestMethod]
method TestInfixPostfix (line 66) | [TestMethod]
method TestIntersection (line 72) | [TestMethod]
method TestArrayFormula (line 78) | [TestMethod]
method TestBrackets (line 84) | [TestMethod]
method TestEmptyArgument (line 90) | [TestMethod]
method TestElvisExamples (line 97) | [TestMethod]
method TestVarious (line 118) | [TestMethod]
method TestCalcCSVFails (line 143) | [TestMethod]
method test (line 159) | private static void test(params string[] formulas)
method test (line 164) | private static void test(IEnumerable<string> formulas)
method test (line 172) | internal static void test(string formula, bool ignorewhitespace = true...
FILE: src/XLParser.Tests/WordsTerminalTests.cs
class WordsTerminalTests (line 7) | [TestClass]
method RecognizesAnyWordFromList (line 10) | [TestMethod]
method RecognizesLongestWord (line 18) | [TestMethod]
method RecognizeShorterWordIfLongestNotThere (line 24) | [TestMethod]
method CaseSensitiveModeWontMatchWordsDifferingInCase (line 30) | [TestMethod]
method CaseInsensitiveModeWillMatchWordsDifferingInCase (line 37) | [TestMethod]
method TestTerminalMatching (line 44) | private static void TestTerminalMatching(string input, bool caseSensit...
method TestTerminalNotMatching (line 54) | private static void TestTerminalNotMatching(string input, bool caseSen...
class TestGrammar (line 62) | private class TestGrammar : Grammar
method TestGrammar (line 64) | public TestGrammar(bool caseSensitive, Terminal testedTerminal) : ba...
FILE: src/XLParser/ExcelFormulaGrammar.cs
class ExcelFormulaGrammar (line 14) | [Language("Excel Formulas", "1.7.5", "Grammar for Excel Formulas")]
method ExcelFormulaGrammar (line 270) | public ExcelFormulaGrammar()
class Precedence (line 495) | private static class Precedence
class TerminalPriority (line 514) | private static class TerminalPriority
method GetExcelFunctionList (line 553) | private static string[] GetExcelFunctionList()
class GrammarNames (line 572) | public static class GrammarNames
FILE: src/XLParser/ExcelFormulaParser.cs
class ExcelFormulaParser (line 12) | public static class ExcelFormulaParser
method Parse (line 32) | public static ParseTreeNode Parse(string input)
method ParseToTree (line 45) | public static ParseTree ParseToTree(string input)
method AllNodesConditional (line 79) | public static IEnumerable<ParseTreeNode> AllNodesConditional(this Pars...
method AllNodes (line 105) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 113) | public static IEnumerable<ParseTreeNode> AllNodes(this ParseTreeNode r...
method AllNodes (line 118) | internal static IEnumerable<ParseTreeNode> AllNodes(IEnumerable<ParseT...
method Parent (line 129) | public static ParseTreeNode Parent(this ParseTreeNode child, ParseTree...
method Type (line 140) | public static string Type(this ParseTreeNode node)
method Is (line 148) | public static bool Is(this ParseTreeNode pt, string type)
method IsFunction (line 156) | public static Boolean IsFunction(this ParseTreeNode input)
method IsParentheses (line 169) | public static bool IsParentheses(this ParseTreeNode input)
method IsBinaryOperation (line 182) | public static bool IsBinaryOperation(this ParseTreeNode input)
method IsBinaryNonReferenceOperation (line 189) | public static bool IsBinaryNonReferenceOperation(this ParseTreeNode in...
method IsBinaryReferenceOperation (line 194) | public static bool IsBinaryReferenceOperation(this ParseTreeNode input)
method IsUnaryOperation (line 199) | public static bool IsUnaryOperation(this ParseTreeNode input)
method IsUnaryPrefixOperation (line 204) | public static bool IsUnaryPrefixOperation(this ParseTreeNode input)
method IsUnaryPostfixOperation (line 211) | public static bool IsUnaryPostfixOperation(this ParseTreeNode input)
method RemoveFinalSymbol (line 219) | private static string RemoveFinalSymbol(string input)
method GetFunction (line 228) | public static string GetFunction(this ParseTreeNode input)
method MatchFunction (line 261) | public static bool MatchFunction(this ParseTreeNode input, string func...
method GetFunctionArguments (line 269) | public static IEnumerable<ParseTreeNode> GetFunctionArguments(this Par...
method IsBuiltinFunction (line 310) | public static bool IsBuiltinFunction(this ParseTreeNode node)
method IsIntersection (line 319) | public static bool IsIntersection(this ParseTreeNode input)
method IsUnion (line 328) | public static bool IsUnion(this ParseTreeNode input)
method IsNamedFunction (line 338) | public static bool IsNamedFunction(this ParseTreeNode input)
method IsOperation (line 345) | public static bool IsOperation(this ParseTreeNode input)
method IsExternalUDFunction (line 350) | public static bool IsExternalUDFunction(this ParseTreeNode input)
method IsNumberWithSign (line 358) | public static bool IsNumberWithSign(this ParseTreeNode input)
method GetPrefixInfo (line 368) | public static PrefixInfo GetPrefixInfo(this ParseTreeNode prefix) => P...
method SkipFormula (line 373) | public static ParseTreeNode SkipFormula(this ParseTreeNode input)
method GetReferenceNodes (line 385) | public static IEnumerable<ParseTreeNode> GetReferenceNodes(this ParseT...
method GetParserReferences (line 405) | public static IEnumerable<ParserReference> GetParserReferences(this Pa...
method IsRange (line 461) | public static bool IsRange(this ParseTreeNode input)
method SkipToRelevant (line 478) | public static ParseTreeNode SkipToRelevant(this ParseTreeNode input, b...
method Print (line 520) | public static string Print(this ParseTreeNode input)
FILE: src/XLParser/FormulaAnalyzer.cs
class FormulaAnalyzer (line 19) | public class FormulaAnalyzer
method FormulaAnalyzer (line 39) | public FormulaAnalyzer(ParseTreeNode root)
method FormulaAnalyzer (line 47) | public FormulaAnalyzer(string formula) : this(ExcelFormulaParser.Parse...
method References (line 53) | public IEnumerable<ParseTreeNode> References()
method Functions (line 58) | public IEnumerable<string> Functions()
method Constants (line 65) | public IEnumerable<string> Constants()
method Numbers (line 75) | public IEnumerable<double> Numbers()
method Depth (line 86) | public int Depth()
method Depth (line 94) | private static int Depth(ParseTreeNode node)
method OperatorDepth (line 112) | public int OperatorDepth(ISet<string> operators = null)
method OperatorDepth (line 117) | private int OperatorDepth(ParseTreeNode node, ISet<string> operators =...
method ConditionalComplexity (line 146) | public int ConditionalComplexity()
method ParserReferences (line 154) | public IEnumerable<ParserReference> ParserReferences()
FILE: src/XLParser/ParserReference.cs
type ReferenceType (line 6) | public enum ReferenceType
class ParserReference (line 18) | public class ParserReference
method ParserReference (line 33) | public ParserReference(ParseTreeNode node)
method InitializeReference (line 45) | public void InitializeReference(ParseTreeNode node)
method UnEscape (line 121) | private string UnEscape(string value, string escapeCharacter)
method ToString (line 126) | public override string ToString()
FILE: src/XLParser/PrefixInfo.cs
class PrefixInfo (line 14) | public class PrefixInfo : IEquatable<PrefixInfo>
method PrefixInfo (line 36) | public PrefixInfo(string sheet = null, int? fileNumber = null, string ...
method From (line 49) | internal static PrefixInfo From(ParseTreeNode prefix)
method FixPrecedingWhiteSpaces (line 139) | internal static void FixPrecedingWhiteSpaces(ParseTreeNode parseTreeNo...
method GetNodePositionFromSourceText (line 156) | private static int GetNodePositionFromSourceText(ParseTreeNode nodeShe...
method Substr (line 173) | private static string Substr(string s, int removeLast = 0, int removeF...
method Equals (line 178) | public override bool Equals(object other) => Equals(other as PrefixInfo);
method Equals (line 179) | public bool Equals(PrefixInfo other)
method GetHashCode (line 186) | public override int GetHashCode()
method ToString (line 209) | public override string ToString()
FILE: src/XLParser/WordsTerminal.cs
class WordsTerminal (line 12) | public class WordsTerminal : Terminal
method WordsTerminal (line 18) | public WordsTerminal(string name, IEnumerable<string> words) : base(name)
method Init (line 24) | public override void Init(GrammarData grammarData)
method GetFirsts (line 39) | public override IList<string> GetFirsts() => _words;
method TryMatch (line 41) | public override Token TryMatch(ParsingContext context, ISourceStream s...
method AddWordToTree (line 66) | private void AddWordToTree(string word)
class Node (line 77) | private class Node
method Node (line 83) | public Node(int length)
method GetOrAddChild (line 110) | internal Node GetOrAddChild(char c)
Condensed preview — 177 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (5,055K chars).
[
{
"path": ".gitattributes",
"chars": 2724,
"preview": "###############################################################################\n# Set default behavior to automatically "
},
{
"path": ".gitignore",
"chars": 2938,
"preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User"
},
{
"path": "CHANGELOG.md",
"chars": 4012,
"preview": "# Changelog\n\n<!--*Changes which are in this source code, but not yet in a release*:-->\n## 1.3.0\n\n* Build for .NET 4.5.2,"
},
{
"path": "LICENSE.md",
"chars": 15728,
"preview": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. \"Contributor\"\n\n means each individual or legal entity that"
},
{
"path": "README.md",
"chars": 4119,
"preview": "# XLParser\nA C# Excel formula parser with the following properties:\n\n* **High compatiblity**<br/>\n XLParser has been te"
},
{
"path": "app/XLParser apps.sln",
"chars": 1001,
"preview": "\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio 14\r\nVisualStudioVersion = 14.0.23107.0\r\n"
},
{
"path": "app/XLParser.Web/.gitignore",
"chars": 6,
"preview": "deploy"
},
{
"path": "app/XLParser.Web/Default.aspx",
"chars": 5017,
"preview": "<%@ Page Language=\"C#\" AutoEventWireup=\"true\" CodeBehind=\"Default.aspx.cs\" Inherits=\"XLParser.Web.Default\" %>\n<!DOCTYPE"
},
{
"path": "app/XLParser.Web/Default.aspx.cs",
"chars": 189,
"preview": "using System;\r\nusing System.Web.UI;\r\n\r\nnamespace XLParser.Web\r\n{\r\n public partial class Default : Page\r\n {\r\n "
},
{
"path": "app/XLParser.Web/Default.aspx.designer.cs",
"chars": 453,
"preview": "//------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// This code"
},
{
"path": "app/XLParser.Web/Parse.cs",
"chars": 11993,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Diagnostics.CodeAnalysis;\r\nusing System.IO;\r\nusing Syste"
},
{
"path": "app/XLParser.Web/Properties/AssemblyInfo.cs",
"chars": 195,
"preview": "using System.Reflection;\r\nusing System.Runtime.InteropServices;\r\n\r\n[assembly: ComVisible(false)]\r\n[assembly: Guid(\"ffb6"
},
{
"path": "app/XLParser.Web/Properties/Resources.Designer.cs",
"chars": 28208,
"preview": "//------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// This code"
},
{
"path": "app/XLParser.Web/Properties/Resources.resx",
"chars": 10661,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prim"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v120.txt",
"chars": 2455,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nADDRESS\nAMORDEGRC\nAMORLINC\nAND\nAREAS\nASC\nASIN\nASINH\nATAN\nATAN2\nATANH\nAVEDEV\nAVERAGE\nAVER"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v139.txt",
"chars": 3713,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nASC\nASIN\nASINH\nATAN\nATA"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v141.txt",
"chars": 3728,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nASC\nASIN\nASINH\nATAN\nATA"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v142.txt",
"chars": 3728,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nASC\nASIN\nASINH\nATAN\nATA"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v150.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v151.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v152.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v160.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v161.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v162.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v163.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v170.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v171.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v172.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v173.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v174.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Resources/ExcelBuiltinFunctionList-v175.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "app/XLParser.Web/Web.Debug.config",
"chars": 1299,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n\r\n<!-- For more information on using web.config transformation visit http://go.m"
},
{
"path": "app/XLParser.Web/Web.Release.config",
"chars": 1360,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n\r\n<!-- For more information on using web.config transformation visit http://go.m"
},
{
"path": "app/XLParser.Web/Web.config",
"chars": 791,
"preview": "<?xml version=\"1.0\"?>\r\n<!--\r\n For more information on how to configure your ASP.NET application, please visit\r\n http:"
},
{
"path": "app/XLParser.Web/XLParser Web.csproj",
"chars": 12905,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
},
{
"path": "app/XLParser.Web/XLParserVersions/v100/ExcelFormulaGrammar.cs",
"chars": 29357,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v100\r"
},
{
"path": "app/XLParser.Web/XLParserVersions/v100/ExcelFormulaParser.cs",
"chars": 15462,
"preview": "using System;\r\nusing System.Collections;\r\nusing System.Collections.Generic;\r\nusing System.Data;\r\nusing System.IO;\r\nusin"
},
{
"path": "app/XLParser.Web/XLParserVersions/v114/ExcelFormulaGrammar.cs",
"chars": 31533,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v114\r"
},
{
"path": "app/XLParser.Web/XLParserVersions/v114/ExcelFormulaParser.cs",
"chars": 18080,
"preview": "using System;\r\nusing System.Collections;\r\nusing System.Collections.Generic;\r\nusing System.Data;\r\nusing System.IO;\r\nusin"
},
{
"path": "app/XLParser.Web/XLParserVersions/v120/ExcelFormulaGrammar.cs",
"chars": 28836,
"preview": "using System;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v120\r\n{\r\n /// <summary>\r\n /// Cont"
},
{
"path": "app/XLParser.Web/XLParserVersions/v120/ExcelFormulaParser.cs",
"chars": 22962,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XL"
},
{
"path": "app/XLParser.Web/XLParserVersions/v120/PrefixInfo.cs",
"chars": 1787,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;"
},
{
"path": "app/XLParser.Web/XLParserVersions/v139/ExcelFormulaGrammar.cs",
"chars": 31024,
"preview": "using System;\r\nusing System.IO;\r\nusing System.Reflection;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersi"
},
{
"path": "app/XLParser.Web/XLParserVersions/v139/ExcelFormulaParser.cs",
"chars": 26173,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v139/ParserReference.cs",
"chars": 5597,
"preview": "using Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v139\r\n{\r\n public enum ReferenceType\r\n {\r\n "
},
{
"path": "app/XLParser.Web/XLParserVersions/v139/PrefixInfo.cs",
"chars": 8510,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v141/ExcelFormulaGrammar.cs",
"chars": 32064,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.IO;\r\nusing System.Reflection;\r\n\r\nnamespace XLParser.Web.XLParserVersi"
},
{
"path": "app/XLParser.Web/XLParserVersions/v141/ExcelFormulaParser.cs",
"chars": 26229,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v141/ParserReference.cs",
"chars": 5625,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v141\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v141/PrefixInfo.cs",
"chars": 8788,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v142/ExcelFormulaGrammar.cs",
"chars": 32060,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.IO;\r\nusing System.Reflection;\r\n\r\nnamespace XLParser.Web.XLParserVersi"
},
{
"path": "app/XLParser.Web/XLParserVersions/v142/ExcelFormulaParser.cs",
"chars": 26229,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v142/ParserReference.cs",
"chars": 5761,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v142\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v142/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v150/ExcelFormulaGrammar.cs",
"chars": 32408,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.IO;\r\nusing System.Reflection;\r\n\r\nnamespace XLParser.Web.XLParserVersi"
},
{
"path": "app/XLParser.Web/XLParserVersions/v150/ExcelFormulaParser.cs",
"chars": 26078,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v150/ParserReference.cs",
"chars": 5967,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v150\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v150/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v151/ExcelFormulaGrammar.cs",
"chars": 32072,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.IO;\r\nusing System.Reflection;\r\n\r\nnamespace XLParser.Web.XLParserVersi"
},
{
"path": "app/XLParser.Web/XLParserVersions/v151/ExcelFormulaParser.cs",
"chars": 26132,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v151/ParserReference.cs",
"chars": 5698,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v151\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v151/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v152/ExcelFormulaGrammar.cs",
"chars": 32166,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.IO;\r\nusing System.Reflection;\r\n\r\nnamespace XLParser.Web.XLParserVersi"
},
{
"path": "app/XLParser.Web/XLParserVersions/v152/ExcelFormulaParser.cs",
"chars": 26132,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v152/ParserReference.cs",
"chars": 5698,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v152\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v152/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v160/ExcelFormulaGrammar.cs",
"chars": 32326,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.IO;\r\nusing System.Reflection;\r\n\r\nnamespace XLParser.Web.XLParserVersi"
},
{
"path": "app/XLParser.Web/XLParserVersions/v160/ExcelFormulaParser.cs",
"chars": 25216,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v160/ParserReference.cs",
"chars": 6521,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v160\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v160/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v161/ExcelFormulaGrammar.cs",
"chars": 32413,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.IO;\r\nusing System.Reflection;\r\n\r\nnamespace XLParser.Web.XLParserVersi"
},
{
"path": "app/XLParser.Web/XLParserVersions/v161/ExcelFormulaParser.cs",
"chars": 26118,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v161/ParserReference.cs",
"chars": 6521,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v161\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v161/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v162/ExcelFormulaGrammar.cs",
"chars": 33704,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nusing System.IO;\r\n"
},
{
"path": "app/XLParser.Web/XLParserVersions/v162/ExcelFormulaParser.cs",
"chars": 26118,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v162/ParserReference.cs",
"chars": 6521,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v162\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v162/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v162/WordsTerminal.cs",
"chars": 4913,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v162\r"
},
{
"path": "app/XLParser.Web/XLParserVersions/v163/ExcelFormulaGrammar.cs",
"chars": 34137,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nusing System.IO;\r\n"
},
{
"path": "app/XLParser.Web/XLParserVersions/v163/ExcelFormulaParser.cs",
"chars": 26298,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v163/ParserReference.cs",
"chars": 4940,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v163\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v163/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v163/WordsTerminal.cs",
"chars": 4913,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v163\r"
},
{
"path": "app/XLParser.Web/XLParserVersions/v170/ExcelFormulaGrammar.cs",
"chars": 34157,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nusing System.IO;\r\n"
},
{
"path": "app/XLParser.Web/XLParserVersions/v170/ExcelFormulaParser.cs",
"chars": 26298,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnames"
},
{
"path": "app/XLParser.Web/XLParserVersions/v170/ParserReference.cs",
"chars": 4940,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v170\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v170/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v170/WordsTerminal.cs",
"chars": 4913,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v170\r"
},
{
"path": "app/XLParser.Web/XLParserVersions/v171/ExcelFormulaGrammar.cs",
"chars": 34157,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nusing System.IO;\r\n"
},
{
"path": "app/XLParser.Web/XLParserVersions/v171/ExcelFormulaParser.cs",
"chars": 25743,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XL"
},
{
"path": "app/XLParser.Web/XLParserVersions/v171/ParserReference.cs",
"chars": 5490,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v171\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v171/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v171/WordsTerminal.cs",
"chars": 4913,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v171\r"
},
{
"path": "app/XLParser.Web/XLParserVersions/v172/ExcelFormulaGrammar.cs",
"chars": 34157,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nusing System.IO;\r\n"
},
{
"path": "app/XLParser.Web/XLParserVersions/v172/ExcelFormulaParser.cs",
"chars": 25776,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XL"
},
{
"path": "app/XLParser.Web/XLParserVersions/v172/ParserReference.cs",
"chars": 5490,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v172\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v172/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v172/WordsTerminal.cs",
"chars": 4913,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v172\r"
},
{
"path": "app/XLParser.Web/XLParserVersions/v173/ExcelFormulaGrammar.cs",
"chars": 34167,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nusing System.IO;\r\n"
},
{
"path": "app/XLParser.Web/XLParserVersions/v173/ExcelFormulaParser.cs",
"chars": 25776,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XL"
},
{
"path": "app/XLParser.Web/XLParserVersions/v173/ParserReference.cs",
"chars": 5509,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v173\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v173/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v173/WordsTerminal.cs",
"chars": 4913,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v173\r"
},
{
"path": "app/XLParser.Web/XLParserVersions/v174/ExcelFormulaGrammar.cs",
"chars": 34355,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nusing System.IO;\r\n"
},
{
"path": "app/XLParser.Web/XLParserVersions/v174/ExcelFormulaParser.cs",
"chars": 25776,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XL"
},
{
"path": "app/XLParser.Web/XLParserVersions/v174/ParserReference.cs",
"chars": 5509,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v174\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v174/PrefixInfo.cs",
"chars": 8789,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v174/WordsTerminal.cs",
"chars": 4913,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v174\r"
},
{
"path": "app/XLParser.Web/XLParserVersions/v175/ExcelFormulaGrammar.cs",
"chars": 34399,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nusing System.IO;\r\n"
},
{
"path": "app/XLParser.Web/XLParserVersions/v175/ExcelFormulaParser.cs",
"chars": 25986,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XL"
},
{
"path": "app/XLParser.Web/XLParserVersions/v175/ParserReference.cs",
"chars": 5453,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v175\r\n{\r\n public enum ReferenceT"
},
{
"path": "app/XLParser.Web/XLParserVersions/v175/PrefixInfo.cs",
"chars": 9042,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser.Web.XLParserVer"
},
{
"path": "app/XLParser.Web/XLParserVersions/v175/WordsTerminal.cs",
"chars": 4913,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser.Web.XLParserVersions.v175\r"
},
{
"path": "app/XLParser.Web/d3vizsvg.js",
"chars": 8091,
"preview": "var default_formula = \"SUM(B5,2)\";\nvar latestVersion = \"139\";\n\nvar margin = { top: 20, right: 20, bottom: 20, left: 20 "
},
{
"path": "app/XLParser.Web/packages.config",
"chars": 401,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<packages>\r\n <package id=\"Irony\" version=\"1.2.0\" targetFramework=\"net472\" />\r\n"
},
{
"path": "app/XLParser.Web/xlparser-web.css",
"chars": 2054,
"preview": "#borderwrapper {\n border: 12px solid #217346;\n border-bottom-width: 6px;\n border-top-width: 14px;\n display:"
},
{
"path": "app/lib/.gitignore",
"chars": 0,
"preview": ""
},
{
"path": "doc/README.md",
"chars": 783,
"preview": "# XLParser Documentation\n\nFor a full overview of XLParser, read the original paper: [A Grammar for Spreadsheet Formulas "
},
{
"path": "doc/api/Doxyfile",
"chars": 112267,
"preview": "# Doxyfile 1.8.17\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org)"
},
{
"path": "doc/api/README.MD",
"chars": 73,
"preview": "Use [Doxygen](http://www.doxygen.org) to generate HTML API documentation."
},
{
"path": "lib/IronyExplorer/.gitignore",
"chars": 4195,
"preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User"
},
{
"path": "lib/IronyExplorer/IronyExplorer.sln",
"chars": 1195,
"preview": "\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio Version 16\r\nVisualStudioVersion = 16.0.3"
},
{
"path": "lib/IronyExplorer/LICENSE",
"chars": 1067,
"preview": "MIT License\n\nCopyright (c) 2017 Sunny Chen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy"
},
{
"path": "lib/IronyExplorer/README.md",
"chars": 124,
"preview": "# irony-explorer\nA project contains both the sample grammars as well as the Windows Forms based grammar explorer for Iro"
},
{
"path": "lib/IronyExplorer/libs/FastColoredTextBox/FastColoredTextBox.XML",
"chars": 78316,
"preview": "<?xml version=\"1.0\"?>\n<doc>\n <assembly>\n <name>FastColoredTextBox</name>\n </assembly>\n <members>\n "
},
{
"path": "lib/IronyExplorer/libs/FastColoredTextBox/about.txt",
"chars": 190,
"preview": "Fast Colored TextBox for Syntax Highlighting\nBy Pavel Torgashov\nGNU Lesser General Public License v3\n\nhttp://www.codepro"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/App.config",
"chars": 1698,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n<configuration>\r\n <configSections>\r\n <sectionGroup name=\"userSetting"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/GrammarItemList.cs",
"chars": 3906,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/GrammarLoader.cs",
"chars": 7787,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/AboutCodeHighlighter.txt",
"chars": 107,
"preview": "This highlighter is not a real thing, just a sketch - good enough to highlight samples in Grammar Explorer"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/EditorAdapter.cs",
"chars": 4614,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/EditorViewAdapter.cs",
"chars": 9236,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/FastColoredTextBoxHighlighter.cs",
"chars": 10557,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/RichTextBoxHighlighter.cs",
"chars": 8648,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Highlighter/WavyLineStyle.cs",
"chars": 1280,
"preview": "// Written by Alexey Yakovlev <yallie@yandex.ru>\r\n//\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Li"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/IronyExplorer.GrammarExplorer.csproj",
"chars": 5476,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Program.cs",
"chars": 2536,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c)"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Properties/AssemblyInfo.cs",
"chars": 1917,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Properties/Resources.Designer.cs",
"chars": 2868,
"preview": "//------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// This code"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Properties/Resources.resx",
"chars": 5494,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prim"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Properties/Settings.Designer.cs",
"chars": 4193,
"preview": "//------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// This code"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/Properties/Settings.settings",
"chars": 1172,
"preview": "<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"http://schemas.microsoft.com/VisualStudio/2004/01/settings\""
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmGrammarExplorer.Designer.cs",
"chars": 70477,
"preview": "namespace Irony.GrammarExplorer {\r\n partial class fmGrammarExplorer {\r\n /// <summary>\r\n /// Required designer var"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmGrammarExplorer.cs",
"chars": 26328,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c)"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmGrammarExplorer.resx",
"chars": 9049,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmSelectGrammars.Designer.cs",
"chars": 5380,
"preview": "namespace Irony.GrammarExplorer {\r\n partial class fmSelectGrammars {\r\n /// <summary>\r\n /// Required designer var"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmSelectGrammars.cs",
"chars": 3297,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmSelectGrammars.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmShowException.Designer.cs",
"chars": 2246,
"preview": "namespace Irony.GrammarExplorer {\r\n partial class fmShowException {\r\n /// <summary>\r\n /// Required designer varia"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmShowException.cs",
"chars": 1141,
"preview": "#region License\r\n/* **********************************************************************************\r\n * Copyright (c)"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/fmShowException.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "lib/IronyExplorer/src/IronyExplorer.GrammarExplorer/packages.config",
"chars": 403,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<packages>\r\n <package id=\"Irony\" version=\"1.2.0\" targetFramework=\"net472\" />\r\n"
},
{
"path": "src/XLParser/ExcelFormulaGrammar.cs",
"chars": 34488,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nusing System.IO;\r\n"
},
{
"path": "src/XLParser/ExcelFormulaParser.cs",
"chars": 25960,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser\r\n{\r\n "
},
{
"path": "src/XLParser/FormulaAnalyzer.cs",
"chars": 5241,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\nusing S"
},
{
"path": "src/XLParser/ParserReference.cs",
"chars": 5427,
"preview": "using System.Linq;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser\r\n{\r\n public enum ReferenceType\r\n {\r\n Cell,\r"
},
{
"path": "src/XLParser/PrefixInfo.cs",
"chars": 9016,
"preview": "using System;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing Irony.Parsing;\r\n\r\nnamespace XLParser\r\n{\r\n // TODO"
},
{
"path": "src/XLParser/Resources/ExcelBuiltinFunctionList.txt",
"chars": 3782,
"preview": "ABS\nACCRINT\nACCRINTM\nACOS\nACOSH\nACOT\nACOTH\nADDRESS\nAGGREGATE\nAMORDEGRC\nAMORLINC\nAND\nARABIC\nAREAS\nARRAYTOTEXT\nASC\nASIN\nAS"
},
{
"path": "src/XLParser/WordsTerminal.cs",
"chars": 4887,
"preview": "using Irony.Parsing;\r\nusing System;\r\nusing System.Collections.Generic;\r\n\r\nnamespace XLParser\r\n{\r\n /// <summary>\r\n "
},
{
"path": "src/XLParser/XLParser.csproj",
"chars": 1529,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <TargetFrameworks>net462;netstandard2.0</TargetFrameworks>\n "
},
{
"path": "src/XLParser/XLParser.nuspec",
"chars": 857,
"preview": "<?xml version=\"1.0\"?>\r\n<package >\r\n <metadata>\r\n <id>$id$</id>\r\n <version>$version$</version>\r\n <title>$title$"
},
{
"path": "src/XLParser.Tests/DatasetTests.cs",
"chars": 2895,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\r\nusing System.IO;"
},
{
"path": "src/XLParser.Tests/FormulaAnalysisTest.cs",
"chars": 71766,
"preview": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\r\nusing Irony"
},
{
"path": "src/XLParser.Tests/ParserTests.cs",
"chars": 32069,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing Microsoft.VisualStudio.TestTools.UnitTestin"
},
{
"path": "src/XLParser.Tests/PrefixInfoTests.cs",
"chars": 3526,
"preview": "using System;\r\nusing System.Linq;\r\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\r\n\r\nnamespace XLParser.Tests\r\n{\r\n"
},
{
"path": "src/XLParser.Tests/PrintTests.cs",
"chars": 6149,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\r\nusing System.Tex"
},
{
"path": "src/XLParser.Tests/WordsTerminalTests.cs",
"chars": 2700,
"preview": "using System;\r\nusing Irony.Parsing;\r\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\r\n\r\nnamespace XLParser.Tests\r\n{"
},
{
"path": "src/XLParser.Tests/XLParser.Tests.csproj",
"chars": 1557,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n <PropertyGroup>\n <TargetFrameworks>net462;net8.0</TargetFrameworks>\n <SignAs"
},
{
"path": "src/XLParser.Tests/data/enron/knownfails.txt",
"chars": 1246,
"preview": "SUM(#REF)\n+ˉ\nIF($A4=\"N/A\",\" \",IF(=1,AG4,AF4))\n#REF+C134\n+#REF+C134\nIF(A71=\"N/A\",\" \",IF(ISERROR(#REF),K59*Include1,#REF)"
},
{
"path": "src/XLParser.Tests/data/euses/formulas.txt",
"chars": 2394637,
"preview": "\"MIN(Metrics!E$2:E$4499)\"\n\"MIN(Regions!C$2:C$4499)\"\n\"QUARTILE(Metrics!E$2:E$4499,1)\"\n\"QUARTILE(Regions!C$2:C$4499,1)\"\n\"M"
},
{
"path": "src/XLParser.Tests/data/euses/knownfails.txt",
"chars": 74,
"preview": "SUM((Exercises 4, 5 and 6!$H$2:$H$11-Exercise 7!B2:B11)/Exercise 7!B2:B11)"
},
{
"path": "src/XLParser.Tests/data/testformulas/structured_references.txt",
"chars": 2227,
"preview": "=SUM(DeptSales[SaleAmt])\n=DeptSales[[SalesPers]:[Region]]\n=(DeptSales[SaleAmt],DeptSales[ComAmt])\n=DeptSales[[SalesPers"
},
{
"path": "src/XLParser.Tests/data/testformulas/user_contributed.txt",
"chars": 29,
"preview": "\"IF(A8>0,12*$B$2-D8,\"\"0\\\"\")\"\n"
},
{
"path": "src/XLParser.sln",
"chars": 1624,
"preview": "\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio Version 17\r\nVisualStudioVersion = 17.6.3"
}
]
// ... and 2 more files (download for full content)
About this extraction
This page contains the full source code of the spreadsheetlab/XLParser GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 177 files (25.9 MB), approximately 1.1M tokens, and a symbol index with 1741 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.