foonathan-lexy/2022.12.1

lexy is a parser combinator library for C++17 and onwards.
Recipe info
2023-04-25

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
foonathan-lexy/2022.12.1

Using foonathan-lexy

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
foonathan-lexy/2022.12.1
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("foonathan-lexy/2022.12.1")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): lexy
  • CMake target name(s): foonathan::lexy
  • lexy_ext => lexy::lexy_ext
    lexy_core => foonathan::lexy::lexy_core
    lexy_file => foonathan::lexy::lexy_file
    lexy_unicode => lexy::lexy_unicode
    
  • pkg-config file name(s): foonathan-lexy.pc
  • lexy_ext => foonathan-lexy-lexy_ext.pc
    lexy_core => foonathan-lexy-lexy_core.pc
    lexy_file => foonathan-lexy-lexy_file.pc
    lexy_unicode => foonathan-lexy-lexy_unicode.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(lexy REQUIRED)
# ...
target_link_libraries(YOUR_TARGET foonathan::lexy)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the foonathan-lexy homepage listed above:

#include "lexy/_detail/any_ref.hpp"
#include "lexy/_detail/assert.hpp"
#include "lexy/_detail/buffer_builder.hpp"
#include "lexy/_detail/code_point.hpp"
#include "lexy/_detail/config.hpp"
#include "lexy/_detail/detect.hpp"
#include "lexy/_detail/integer_sequence.hpp"
#include "lexy/_detail/invoke.hpp"
#include "lexy/_detail/iterator.hpp"
#include "lexy/_detail/lazy_init.hpp"
#include "lexy/_detail/memory_resource.hpp"
#include "lexy/_detail/nttp_string.hpp"
#include "lexy/_detail/stateless_lambda.hpp"
#include "lexy/_detail/std.hpp"
#include "lexy/_detail/string_view.hpp"
#include "lexy/_detail/swar.hpp"
#include "lexy/_detail/tuple.hpp"
#include "lexy/_detail/type_name.hpp"
#include "lexy/_detail/unicode_database.hpp"
#include "lexy/action/base.hpp"
#include "lexy/action/match.hpp"
#include "lexy/action/parse.hpp"
#include "lexy/action/parse_as_tree.hpp"
#include "lexy/action/scan.hpp"
#include "lexy/action/trace.hpp"
#include "lexy/action/validate.hpp"
#include "lexy/callback.hpp"
#include "lexy/callback/adapter.hpp"
#include "lexy/callback/aggregate.hpp"
#include "lexy/callback/base.hpp"
#include "lexy/callback/bind.hpp"
#include "lexy/callback/bit_cast.hpp"
#include "lexy/callback/composition.hpp"
#include "lexy/callback/constant.hpp"
#include "lexy/callback/container.hpp"
#include "lexy/callback/fold.hpp"
#include "lexy/callback/forward.hpp"
#include "lexy/callback/integer.hpp"
#include "lexy/callback/noop.hpp"
#include "lexy/callback/object.hpp"
#include "lexy/callback/string.hpp"
#include "lexy/code_point.hpp"
#include "lexy/dsl.hpp"
#include "lexy/dsl/any.hpp"
#include "lexy/dsl/ascii.hpp"
#include "lexy/dsl/base.hpp"
#include "lexy/dsl/bits.hpp"
#include "lexy/dsl/bom.hpp"
#include "lexy/dsl/brackets.hpp"
#include "lexy/dsl/branch.hpp"
#include "lexy/dsl/byte.hpp"
#include "lexy/dsl/capture.hpp"
#include "lexy/dsl/case_folding.hpp"
#include "lexy/dsl/char_class.hpp"
#include "lexy/dsl/choice.hpp"
#include "lexy/dsl/code_point.hpp"
#include "lexy/dsl/combination.hpp"
#include "lexy/dsl/context_counter.hpp"
#include "lexy/dsl/context_flag.hpp"
#include "lexy/dsl/context_identifier.hpp"
#include "lexy/dsl/delimited.hpp"
#include "lexy/dsl/digit.hpp"
#include "lexy/dsl/effect.hpp"
#include "lexy/dsl/eof.hpp"
#include "lexy/dsl/error.hpp"
#include "lexy/dsl/expression.hpp"
#include "lexy/dsl/flags.hpp"
#include "lexy/dsl/follow.hpp"
#include "lexy/dsl/identifier.hpp"
#include "lexy/dsl/if.hpp"
#include "lexy/dsl/integer.hpp"
#include "lexy/dsl/list.hpp"
#include "lexy/dsl/literal.hpp"
#include "lexy/dsl/lookahead.hpp"
#include "lexy/dsl/loop.hpp"
#include "lexy/dsl/member.hpp"
#include "lexy/dsl/newline.hpp"
#include "lexy/dsl/operator.hpp"
#include "lexy/dsl/option.hpp"
#include "lexy/dsl/parse_as.hpp"
#include "lexy/dsl/peek.hpp"
#include "lexy/dsl/position.hpp"
#include "lexy/dsl/production.hpp"
#include "lexy/dsl/punctuator.hpp"
#include "lexy/dsl/recover.hpp"
#include "lexy/dsl/repeat.hpp"
#include "lexy/dsl/return.hpp"
#include "lexy/dsl/scan.hpp"
#include "lexy/dsl/separator.hpp"
#include "lexy/dsl/sequence.hpp"
#include "lexy/dsl/sign.hpp"
#include "lexy/dsl/subgrammar.hpp"
#include "lexy/dsl/symbol.hpp"
#include "lexy/dsl/terminator.hpp"
#include "lexy/dsl/times.hpp"
#include "lexy/dsl/token.hpp"
#include "lexy/dsl/unicode.hpp"
#include "lexy/dsl/until.hpp"
#include "lexy/dsl/whitespace.hpp"
#include "lexy/encoding.hpp"
#include "lexy/error.hpp"
#include "lexy/grammar.hpp"
#include "lexy/input/argv_input.hpp"
#include "lexy/input/base.hpp"
#include "lexy/input/buffer.hpp"
#include "lexy/input/file.hpp"
#include "lexy/input/lexeme_input.hpp"
#include "lexy/input/range_input.hpp"
#include "lexy/input/string_input.hpp"
#include "lexy/input_location.hpp"
#include "lexy/lexeme.hpp"
#include "lexy/parse_tree.hpp"
#include "lexy/token.hpp"
#include "lexy/visualize.hpp"
#include "lexy_ext/compiler_explorer.hpp"
#include "lexy_ext/parse_tree_algorithm.hpp"
#include "lexy_ext/parse_tree_doctest.hpp"
#include "lexy_ext/report_error.hpp"
#include "lexy_ext/shell.hpp"