Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:darix
kelbt
kelbt.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kelbt.spec of Package kelbt
# # spec file for package kelbt (Version 0.12) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: kelbt Version: 0.12 Release: 0 # License: GPL Group: Development/Languages/C and C++ # BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gcc-c++ ragel gperf flex vim Requires: vim # Url: http://www.cs.queensu.ca/home/thurston/kelbt/ Source: http://www.cs.queensu.ca/home/thurston/kelbt/kelbt-%{version}.tar.gz Patch: kelbt-0.12_cxxprep.patch # Summary: Backtracking LR Parsing %description Kelbt generates backtracking LALR(1) parsers. Standard LALR(1) parser generators emit an error upon encountering a conflict in the parse tables. Kelbt forges onward, generating parsers which handle conflicts by backtracking at runtime. Kelbt is able to generate a parser for any context-free grammar and therefore implements a generalized parsing method. Kelbt is different from other backtracking LR systems in two ways. First, it elevates backtracking to the level of semantic actions by introducing a class of actions called undo actions. Undo actions are invoked as the backtracker undoes parsing and allow the user to revert any side effects of forward semantic actions. This makes it possible to backtrack over language constructs which must modify global state in preparation for handling context dependencies. Second, Kelbt enables a user-controlled parsing strategy which approximates that of generalized recursive-descent parsing. This makes it easy for the user to resolve language ambiguities by ordering the grammar productions of a nonterminal according to their precedence. Kelbt has been used to write a C++ parser (included) which is composed of strictly a scanner, a name lookup stage and a grammar with standard semantic actions and semantic undo actions. Authors: -------- Adrian Thurston %debug_package %prep %setup %patch %build %configure %{__make} %{__make} -C test %{__make} -C cxxprep/ KELBT=../kelbt/kelbt %install %{__install} -D -m 0755 kelbt/kelbt %{buildroot}%{_bindir}/kelbt %{__install} -D -m 0755 cxxprep/cxxprep %{buildroot}%{_bindir}/cxxprep %{__install} -D -m 0644 kelbt.vim %{buildroot}%{_datadir}/vim/current/syntax/kelbt.vim %{__make} -C cxxprep/ KELBT=../kelbt/kelbt clean %clean %{__rm} -rf %{buildroot} %files %defattr(-,root,root,-) %{_datadir}/vim/current/syntax/kelbt.vim %{_bindir}/kelbt %{_bindir}/cxxprep %doc ChangeLog COPYING CREDITS %doc test/ cxxprep/ %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor