- SEE ALSO
- COPYRIGHT AND LICENSE
MarpaX::ESLIF - ESLIF is Extended ScanLess InterFace
use MarpaX::ESLIF; my $eslif = MarpaX::ESLIF->new(); printf "ESLIF library version: %s\n", $eslif->version;
With a logger, using Log::Any::Adapter::Stderr as an example:
use MarpaX::ESLIF; use Log::Any qw/$log/; use Log::Any::Adapter ('Stderr', log_level => 'trace' ); my $eslif = MarpaX::ESLIF->new($log); printf "ESLIF library version: %s\n", $eslif->version;
This class and its derivatives are thread-safe. Although there can be many ESLIF instance, in practice a single instance is enough, unless you want different logging interfaces. Once a MarpaX::ESLIF instance is created, the user should create a MarpaX::ESLIF::Grammar instance to have a working grammar.
The main features of this BNF are:
The number of sub grammars is unlimited.
- Regular expressions
Native support of regular expression using the PCRE2 library (i.e. this is <not> exactly perl regexps, although very closed).
Native support of streaming input.
Beginners might want to look at MarpaX::ESLIF::Introduction.
my $loggerInterface = My::Logger::Interface->new(); my $eslif = MarpaX::ESLIF->new();
Returns an instance of MarpaX::ESLIF, noted
$loggerInterface is an optional parameter that, when its exists, must be an object instance that can do the methods documented in MarpaX::ESLIF::Logger::Interface, or
An example of logging implementation can be a Log::Any adapter.
printf "ESLIF library version: %s\n", $eslif->version;
Returns a string containing the current underlying ESLIF library version.
The perl interface is an all-in-one version of marpaESLIF library, which means that character conversion is using
iconv-like on Windows) instead of ICU, even if the later is available on your system.
Jean-Damien Durand <firstname.lastname@example.org>
Jeffrey Kegler <email@example.com>
This software is copyright (c) 2017 by Jean-Damien Durand.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.