3 %bcond_without tests # do not perform "make test"
5 %include /usr/lib/rpm/macros.perl
7 %define pnam RecDescent
8 Summary: Parse::RecDescent - generate recursive-descent parsers
9 Summary(pl.UTF-8): Parse::RecDescent - generowanie zmniejszających rekurencyjnie analizatorów
10 Name: perl-Parse-RecDescent
14 Group: Development/Languages/Perl
15 Source0: http://www.cpan.org/modules/by-authors/id/D/DC/DCONWAY/%{pdir}-%{pnam}-v%{version}.tar.gz
16 # Source0-md5: 122fa38d52a701897836370ae022f174
17 Patch0: %{name}-paths.patch
18 URL: http://search.cpan.org/dist/Parse-RecDescent/
19 BuildRequires: perl-Text-Balanced
20 BuildRequires: perl-devel >= 1:5.8.0
21 BuildRequires: rpm-perlprov >= 4.1-13
22 # these versions included own copy of Text::Balanced
23 BuildConflicts: perl-Parse-RecDescent < 1.92
25 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 %define _noautoreq 'perl(Calc)'
30 RecDescent incrementally generates top-down recursive-descent text
31 parsers from simple yacc-like grammar specifications. It provides:
32 - Regular expressions or literal strings as terminals (tokens),
33 - Multiple (non-contiguous) productions for any rule,
34 - Repeated, optional and alternate subrules within productions,
35 - Late-bound (run-time dispatched) subrules,
36 - Full access to Perl within actions specified as part of the
38 - Simple automated error reporting during parser generation and
40 - The ability to commit to, uncommit to, or reject particular
41 productions during a parse,
42 - Incremental extension of the parsing grammar (even during a
44 - Precompilation of parser objects,
45 - User-definable reduce-reduce conflict resolution via
46 "scoring" of matching productions.
48 %description -l pl.UTF-8
49 RecDescent generuje przyrostowo zstępujące, zmniejszające
50 rekurencyjnie analizatory tekstu w oparciu o prostą specyfikację
51 gramatyki, podobną do używanej przez yacca. Udostępnia on:
52 - Wyrażenia regularne i łańcuchy literałów jako terminale (tokeny),
53 - Wielokrotną (nieciągłą) produkcję dla każdej reguły,
54 - Powtarzane, opcjonalne i alternatywne podreguły w obrębie
56 - Podreguły późnego wiązania (wysyłane w chwili uruchomienia),
57 - Pełen dostęp do Perla w obrębie akcji określonych jako część
59 - Proste, zautomatyzowane sygnalizowanie błędów podczas generacji
60 analizatora i podczas analizy,
61 - Możliwość zatwierdzenia, cofnięcia oraz odrzucania poszczególnych
62 produkcji podczas analizy,
63 - Przyrostowe rozszerzanie gramatyki podlegającej analizie (nawet
64 podczas samej analizy),
65 - Prekompilację obiektów analizatora,
66 - Definiowalne przez użytkownika rozpoznawanie konfliktów
67 "reduce-reduce" poprzez ocenianie dopasowania produkcji.
70 %setup -q -n %{pdir}-%{pnam}-v%{version}
74 %{__perl} Makefile.PL \
78 %{?with_tests:%{__make} test}
81 rm -rf $RPM_BUILD_ROOT
84 DESTDIR=$RPM_BUILD_ROOT
87 rm -rf $RPM_BUILD_ROOT
90 %defattr(644,root,root,755)
92 %{perl_vendorlib}/Parse/*.pm