Source

fparsec / Doc / src / documentation.txt

[section FParsec Documentation]

[html-template "template.html"]
[(* [html-template "template-web.html"] [link-to-dir-for-index] *)]

[default-code-language "f#"]
[split-section]

FParsec is a [url "http://en.wikipedia.org/wiki/Parser_combinator" parser combinator] library for [url "http://msdn.microsoft.com/fsharp" F#].

With FParsec you can implement [url "http://en.wikipedia.org/wiki/Recursive_descent_parser" recursive-descent] text parsers for [url "http://en.wikipedia.org/wiki/Formal_grammar" formal grammars].

FParsec's features include:
- support for context-sensitive, infinite look-ahead grammars,
- automatically generated, highly readable error messages,
- Unicode support,
- efficient support for very large files,
- an embeddable, runtime-configurable [url "http://en.wikipedia.org/wiki/Operator-precedence_parser" operator-precedence parser] component,
- a simple, efficient and easily extensible API,
- an implementation thoroughly optimized for performance,
- comprehensive documentation,
- a permissive open source @license@.

FParsec is an F# adaptation of [url "http://www.haskell.org/haskellwiki/Parsec" Parsec], the popular parser combinator library for Haskell by [url "http://research.microsoft.com/en-us/um/people/daan/" Daan Leijen]. While the implementations of Parsec and FParsec are completely different, they share a similar top-level API.

[/ **Latest release:**] FParsec 0.9.2, 2012-03-09, [url "https://bitbucket.org/fparsec/main/downloads" Download], [^about.changelog Changes]

[auto-link{
    do-not-pick-up-as-link-targets = [ "ToString"],
    only-link-if-used-as-member = ["UserState", "Tag"],
    only-link-if-not-used-as-member = ["Error"],
    only-link-if-reference = ["minRegexSpace", "normalizeNewlines", "skipString", "skipNewline"],
    links = ["Error" : reference.Primitives.members.Error,
             "FParsec.Primitives" : reference.Primitives,
             "FParsec.CharParsers" : reference.CharParsers,
             "FParsec.Error" : reference.Error ,
             "CharParsers.normalizeNewlines" : reference.CharParsers.members.normalizeNewlines,
             "Text.FoldCase" : reference.Text.members.FoldCase,
             "FParsec.Text.FoldCase" : reference.Text.members.FoldCase,
             "Text.NormalizeNewlines" : reference.Text.members.NormalizeNewlines,
             "FParsec.Text.NormalizeNewlines" : reference.Text.members.NormalizeNewlines,
             "RError" : reference.Reply.members.Error,
             "case-insensitively" : reference.CharStream.CharStream.remarks.case-insensitive-matching,
             "CharStream<TUserState>" : reference.CharStream.CharStream_1,
             "CharStream<_>" : reference.CharStream.CharStream_1,
             "ErrorMessageList.Merge" : reference.ErrorMessageList.members.Merge,
             "api-reference": reference
            ],
    urls = ["FileStream" : "http://msdn.microsoft.com/en-us/library/system.io.filestream.aspx",
            "System.IO.Stream" : "http://msdn.microsoft.com/en-us/library/system.io.stream.aspx",
            "Decoder" : "http://msdn.microsoft.com/en-us/library/system.text.decoder.aspx",
            "System.Text.Encoding" : "http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx",
            "Encoding" : "http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx",
            "System.IEquatable" : "http://msdn.microsoft.com/en-us/library/ms131187.aspx",
            "System.IComparable" : "http://msdn.microsoft.com/en-us/library/system.icomparable.aspx",
            "System.Char.IsWhiteSpace" : "http://msdn.microsoft.com/en-us/library/t809ektx.aspx",
            "System.Collections.IStructuralEquatable" : "http://msdn.microsoft.com/en-us/library/system.collections.istructuralequatable(VS.100).aspx",
            "HashSet" : "http://msdn.microsoft.com/en-us/library/bb359438.aspx",
            "System.Globalization.StringInfo" : "http://msdn.microsoft.com/en-us/library/system.globalization.stringinfo.aspx",
            "LengthInTextElements" : "http://msdn.microsoft.com/en-us/library/system.globalization.stringinfo.lengthintextelements.aspx",
            "System.Text.RegularExpressions" : "http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.aspx",
            "System.Text.RegularExpressions.Regex" : "http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx",
            "System.Text.NormalizationForm" : "http://msdn.microsoft.com/en-us/library/system.text.normalizationform.aspx",
            "Regex" : "http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx",
            "System.Text.RegularExpressions.Match" : "http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.match.aspx",
            "StringWriter" : "http://msdn.microsoft.com/en-us/library/system.io.stringwriter.aspx",
            "System.IO.StringWriter" : "http://msdn.microsoft.com/en-us/library/system.io.stringwriter.aspx",
            "TextWriter" : "http://msdn.microsoft.com/en-us/library/system.io.textwriter.aspx",
            "System.IO.TextWriter" : "http://msdn.microsoft.com/en-us/library/system.io.textwriter.aspx",
            "ArgumentException" : "http://msdn.microsoft.com/en-us/library/system.argumentexception.aspx",
            "ArgumentOutOfRangeException" : "http://msdn.microsoft.com/en-us/library/system.argumentoutofrangeexception.aspx",
            "NotSupportedException" : "http://msdn.microsoft.com/en-us/library/system.notsupportedexception.aspx",
            "NullReferenceException" : "http://msdn.microsoft.com/en-us/library/system.nullreferenceexception.aspx",
            "IOException" : "http://msdn.microsoft.com/en-us/library/system.io.ioexception.aspx",
            "DecoderFallbackException" : "http://msdn.microsoft.com/en-us/library/system.text.decoderfallbackexception.aspx",
            "computation-expressions": "http://msdn.microsoft.com/en-us/library/dd233182.aspx",
            "computation-expression": "http://msdn.microsoft.com/en-us/library/dd233182.aspx",
            "monad": "http://en.wikipedia.org/wiki/Monad_%28functional_programming%29",
            "f-interactive": "http://msdn.microsoft.com/en-us/library/dd233175.aspx"
    ] }]

[section#about About FParsec]
[split-section]
[output-in-subdirectory]

[include "fparsec-vs-alternatives.txt"]
[include "status-and-roadmap.txt"]
[include "changelog.txt"]
[include "contact.txt"]

[/section]

[include "license.txt"]
[include "download-and-installation.txt"]

[include "tutorial.txt"]
[include "users-guide.txt"]
[include "reference.txt"]

[/auto-link]

[/section]