From 54df03530e998556d9895edbe390dc8b3df0568dce5fb2493600bff27ebe702b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 29 Apr 2022 08:14:48 +0000 Subject: [PATCH] Accepting request 973759 from home:dirkmueller:Factory - update to 3.0: - Added code generation backend for Rust: - Added options: + ``--loop-switch`` + ``--no-unsafe`` - Added configurations; + ``re2c:label:yyloop`` + ``re2c:unsafe`` - Renamed options to use common naming scheme. The old names are supported as aliases, so the change does not break existing code. Documentation has been updated to use new names. + ``--api`` is a new alias for ``--input`` + ``--ebcdic`` is a new alias for ``--ecb`` + ``--ucs2`` is a new alias for ``--wide-chars`` + ``--utf32`` is a new alias for ``--unicode`` + ``--utf16`` is a new alias for ``--utf-16`` + ``--utf8`` is a new alias for ``--utf-8`` + ``--header`` is a new alias for ``--type-header`` - Renamed configurations to use common naming scheme and support proper scoping under subcategories such as ``:define``, ``:label``, ``:variable``, etc. The old names are supported as aliases, so the change does not break existing code. Documentation has been updated to use new names. + ``re2c:api`` is a new alias for ``re2c:flags:input`` + ``re2c:bit-vectors`` is a new alias for ``re2c:flags:bit-vectors`` + ``re2c:case-insensitive`` is a new alias for ``re2c:flags:case-insensitive`` + ``re2c:case-inverted`` is a new alias for ``re2c:flags:case-inverted`` + ``re2c:case-ranges`` is a new alias for ``re2c:flags:case-ranges`` + ``re2c:cond:prefix`` is a new alias for ``re2c:condprefix`` + ``re2c:cond:enumprefix`` is a new alias for ``re2c:condenumprefix`` + ``re2c:computed-gotos`` is a new alias for ``re2c:flags:computed-gotos`` OBS-URL: https://build.opensuse.org/request/show/973759 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/re2c?expand=0&rev=45 --- re2c-2.2.tar.xz | 3 -- re2c-3.0.tar.xz | 3 ++ re2c.changes | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ re2c.spec | 10 ++++--- 4 files changed, 82 insertions(+), 7 deletions(-) delete mode 100644 re2c-2.2.tar.xz create mode 100644 re2c-3.0.tar.xz diff --git a/re2c-2.2.tar.xz b/re2c-2.2.tar.xz deleted file mode 100644 index 9d01971..0000000 --- a/re2c-2.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0fc45e4130a8a555d68e230d1795de0216dfe99096b61b28e67c86dfd7d86bda -size 1460740 diff --git a/re2c-3.0.tar.xz b/re2c-3.0.tar.xz new file mode 100644 index 0000000..60f5e4e --- /dev/null +++ b/re2c-3.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b +size 1441456 diff --git a/re2c.changes b/re2c.changes index 6b2f448..e796c0a 100644 --- a/re2c.changes +++ b/re2c.changes @@ -1,3 +1,76 @@ +------------------------------------------------------------------- +Thu Apr 28 19:03:51 UTC 2022 - Dirk Müller + +- update to 3.0: + - Added code generation backend for Rust: + - Added options: + + ``--loop-switch`` + + ``--no-unsafe`` + - Added configurations; + + ``re2c:label:yyloop`` + + ``re2c:unsafe`` + - Renamed options to use common naming scheme. The old names are supported as + aliases, so the change does not break existing code. Documentation has been + updated to use new names. + + ``--api`` is a new alias for ``--input`` + + ``--ebcdic`` is a new alias for ``--ecb`` + + ``--ucs2`` is a new alias for ``--wide-chars`` + + ``--utf32`` is a new alias for ``--unicode`` + + ``--utf16`` is a new alias for ``--utf-16`` + + ``--utf8`` is a new alias for ``--utf-8`` + + ``--header`` is a new alias for ``--type-header`` + - Renamed configurations to use common naming scheme and support proper scoping + under subcategories such as ``:define``, ``:label``, ``:variable``, etc. The + old names are supported as aliases, so the change does not break existing + code. Documentation has been updated to use new names. + + ``re2c:api`` is a new alias for ``re2c:flags:input`` + + ``re2c:bit-vectors`` is a new alias for ``re2c:flags:bit-vectors`` + + ``re2c:case-insensitive`` is a new alias for ``re2c:flags:case-insensitive`` + + ``re2c:case-inverted`` is a new alias for ``re2c:flags:case-inverted`` + + ``re2c:case-ranges`` is a new alias for ``re2c:flags:case-ranges`` + + ``re2c:cond:prefix`` is a new alias for ``re2c:condprefix`` + + ``re2c:cond:enumprefix`` is a new alias for ``re2c:condenumprefix`` + + ``re2c:computed-gotos`` is a new alias for ``re2c:flags:computed-gotos`` + + ``re2c:computed-gotos:threshold`` is a new alias for ``re2c:cgoto:threshold`` + + ``re2c:debug-output`` is a new alias for ``re2c:flags:debug-output`` + + ``re2c:encoding:ebcdic`` is a new alias for ``re2c:flags:ecb`` + + ``re2c:encoding:utf32`` is a new alias for ``re2c:flags:unicode`` + + ``re2c:encoding:ucs2`` is a new alias for ``re2c:flags:wide-chars`` + + ``re2c:encoding:utf16`` is a new alias for ``re2c:flags:utf-16`` + + ``re2c:encoding:utf8`` is a new alias for ``re2c:flags:utf-8`` + + ``re2c:encoding-policy`` is a new alias for ``re2c:flags:encoding-policy`` + + ``re2c:empty-class`` is a new alias for ``re2c:flags:empty-class`` + + ``re2c:header`` is a new alias for ``re2c:flags:type-header`` + + ``re2c:label:prefix`` is a new alias for ``re2c:labelprefix`` + + ``re2c:label:yyfill`` is a new alias for ``re2c:label:yyFillLabel`` + + ``re2c:label:start`` is a new alias for ``re2c:startlabel`` + + ``re2c:nested-ifs`` is a new alias for ``re2c:flags:nested-ifs`` + + ``re2c:posix-captures`` is a new alias for ``re2c:flags:posix-captures`` + + ``re2c:tags`` is a new alias for ``re2c:flags:tags`` + + ``re2c:variable:yych:conversion`` is a new alias for ``re2c:yych:conversion`` + + ``re2c:variable:yych:emit`` is a new alias for ``re2c:yych:emit`` + + ``re2c:variable:yybm:hex`` is a new alias for ``re2c:yybm:hex`` + + ``re2c:unsafe`` is a new alias for ``re2c:flags:unsafe`` + - Added directive alias ``conditions:re2c`` for ``types:re2c``. + - Multiple small changes in code generation, including some formatting changes + that result in large diffs in the generated code: + + Do not allocate indices for unused state labels (this results in a change in + state enumeration), commits + + Do not generate redundant ``YYPEEK`` statements, commit + + Do not generate ``YYDEBUG`` statements for unused states labels, commit + + C backend: change formatting of switch statements, commit + + Go backend: render continuous character ranges in compact form, commit + + Mark start and end of included .re files with line directives, commit + - A fix to limit maximum allowed NFA and DFA size (to avoid out of memory + crashes and stack overflows), + - A fix to correctly compute fixed tags in trailing context, commit + - A fix to generate non-overlapping names for s-tag and m-tag variables, commit + - Infrastructural: added support for CMake presets. + - Updated documentation. + - Backwards-incompatible changes that are unlikely to affect any users: + + Restrict lexical contexts where ``%{`` is recognized as a block start, + + Emit an error when repetition lower bound exceeds upper bound, commit + ------------------------------------------------------------------- Fri Nov 12 13:59:22 UTC 2021 - Dominique Leuenberger diff --git a/re2c.spec b/re2c.spec index 7a067d4..d8d9801 100644 --- a/re2c.spec +++ b/re2c.spec @@ -1,7 +1,7 @@ # # spec file for package re2c # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: re2c -Version: 2.2 +Version: 3.0 Release: 0 Summary: Tool for generating C-based recognizers from regular expressions License: SUSE-Public-Domain @@ -54,7 +54,7 @@ terms of size and speed. %make_install %check -make check %{?_smp_mflags} +%make_build check %files %license README.md @@ -62,8 +62,10 @@ make check %{?_smp_mflags} %doc examples/ %{_bindir}/re2c %{_bindir}/re2go +%{_bindir}/re2rust %{_mandir}/man1/re2c.1%{?ext_man} -%{_mandir}/man1/re2go.1.gz +%{_mandir}/man1/re2go.1%{?ext_man} +%{_mandir}/man1/re2rust.1%{?ext_man} %dir %{_datadir}/re2c %dir %{_datadir}/re2c/stdlib %{_datadir}/re2c/stdlib/unicode_categories.re