]>
Commit | Line | Data |
---|---|---|
6e68e540 | 1 | Summary: Ragel State Machine Compiler |
ccb13302 | 2 | Summary(pl.UTF-8): Ragel State Machine Compiler - kompilator automatów |
6e68e540 | 3 | Name: ragel |
2237989c | 4 | Version: 6.7 |
6e68e540 | 5 | Release: 1 |
6 | License: GPL | |
7 | Group: Development/Tools | |
6e68e540 | 8 | Source0: http://www.cs.queensu.ca/home/thurston/ragel/%{name}-%{version}.tar.gz |
2237989c | 9 | # Source0-md5: f4423e0d8a6538dd4e61498fcfad3cec |
9acded59 | 10 | URL: http://www.cs.queensu.ca/home/thurston/ragel/ |
6e68e540 | 11 | BuildRequires: bison |
12 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
13 | ||
14 | %description | |
15 | Ragel compiles finite state machines from regular languages into | |
16 | runnable C code. Ragel state machines can not only recognize byte | |
17 | sequences as regular expression machines do, but can also execute code | |
18 | at arbitrary points in the recognition of a regular language. When you | |
19 | wish to write down a regular language you start with some simple | |
20 | regular language and build a bigger one using the regular language | |
9acded59 | 21 | operators union, concatenation, Kleene star, intersection and |
6e68e540 | 22 | subtraction. This is precisely the way you describe to Ragel how to |
23 | compile your finite state machines. Ragel also understands operators | |
24 | that insert function calls into machines and operators that control | |
25 | any non-determinism in machines. | |
26 | ||
963cfdec JR |
27 | %description -l pl.UTF-8 |
28 | Ragel kompiluje automaty skończone z języków regularnych do | |
29 | działającego kodu w C. Automaty Ragela nie tylko rozpoznają sekwencje | |
30 | bajtów, jak robią to automaty wyrażeń regularnych, ale także wykonują | |
31 | kod w dowolnych miejscach podczas rozpoznawania języka regularnego. | |
32 | Aby napisać język regularny zaczyna się od prostego języka regularnego | |
33 | i buduje większy przy użyciu operatorów sumy, złączenia, dopełnienia | |
34 | Kleene'a, przecięcia i odejmowania. Jest to dokładnie taki sposób, w | |
35 | jaki opisuje się Ragelowi jak kompilować automaty skończone. Ragel | |
36 | rozumie także operatory wstawiające wywołania funkcji do automatów i | |
37 | operatory sterujące niedeterminizmem w automatach. | |
9acded59 | 38 | |
6e68e540 | 39 | %prep |
40 | %setup -q | |
41 | ||
42 | %build | |
43 | %configure | |
78d5507f | 44 | %{__make} \ |
45 | CFLAGS="%{rpmcflags}" | |
55c27e4a | 46 | %{__make} -C doc ragel.1 |
6e68e540 | 47 | |
48 | %install | |
49 | rm -rf $RPM_BUILD_ROOT | |
78d5507f | 50 | %{__make} install \ |
55c27e4a | 51 | DESTDIR=$RPM_BUILD_ROOT |
6e68e540 | 52 | install -d $RPM_BUILD_ROOT%{_mandir}/man1 |
78d5507f | 53 | install doc/r*.1 $RPM_BUILD_ROOT%{_mandir}/man1 |
6e68e540 | 54 | |
9acded59 JB |
55 | %clean |
56 | rm -rf $RPM_BUILD_ROOT | |
57 | ||
6e68e540 | 58 | %files |
59 | %defattr(644,root,root,755) | |
78d5507f | 60 | %doc CREDITS ChangeLog README TODO |
6e68e540 | 61 | %attr(755,root,root) %{_bindir}/* |
62 | %{_mandir}/man1/* |