The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Marpa::R3::Changes - Differences between Marpa::R2 and Marpa::R3

About this document

This document describes the incompatible differences between Marpa::R2 and Marpa::R3. (Differences that do not give rise to incompatibility are outside of its scope.) It is intended for readers already familiar with Marpa::R2, who are writing new applications for Marpa::R3, and for readers migrating Marpa::XS applications and tools to Marpa::R3.

Changes

The Stuifzand interface (PSIF) has been removed

The Stuifzand interface (PSIF), and its documentation, have been removed. Important in the development of Marpa, it now has little or now usage.

The Thin interface (THIF) is deprecated

The THIF is subject to major change, or outright removal, without further notice.

The NAIF is deprecated

The NAIF is an older interface using hashes of named variables, instead of a DSL. It is now severely deprecated. Expect it to be broken or removed shortly.

LATM is now the default

[name, values] is now the default action

Unicode now works in the SLIF DSL

Changes in names of location methods

The specific names changes of methods that deal with G1 and input locations are given below. The general idea is to make sure that all methods that use G1 locations, lengths, ranges or spans, whether as arguments or as return values, will have g1 as part of their name.

New method g1_input_span

Context::location is now Context::g1_range

New context variable, Context::g1_span

$slr->current_g1_location() is now $slr->g1_pos()

Copyright and License

Copyright 2016 Jeffrey Kegler
This file is part of Marpa::R3.  Marpa::R3 is free software: you can
redistribute it and/or modify it under the terms of the GNU Lesser
General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.

Marpa::R3 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser
General Public License along with Marpa::R3.  If not, see
http://www.gnu.org/licenses/.