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