Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Ismael Luceno (f01cb6d3ec48863f4f184db421c156fdd7e2b8ca)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Ismael Luceno <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Ismael Luceno (f01cb6d3ec48863f4f184db421c156fdd7e2b8ca)
  • Date: Thu, 1 Aug 2019 19:22:28 +0000

GIT changes to master grimoire by Ismael Luceno <ismael AT sourcemage.org>:

ChangeLog | 3 +++
devel/pacc/BUILD | 2 ++
devel/pacc/DEPENDS | 1 +
devel/pacc/DETAILS | 29 +++++++++++++++++++++++++++++
devel/pacc/HISTORY | 2 ++
devel/pacc/INSTALL | 2 ++
6 files changed, 39 insertions(+)

New commits:
commit f01cb6d3ec48863f4f184db421c156fdd7e2b8ca
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>

pacc: new spell, a compiler-compiler

diff --git a/ChangeLog b/ChangeLog
index 831cf19..668b338 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2019-08-01 Ismael Luceno <ismael AT sourcemage.org>
+ * devel/pacc: new spell, a compiler-compiler
+
2019-07-30 Ismael Luceno <ismael AT sourcemage.org>
* archive/paxmirabilis: new spell, pax implementation from MirBSD

diff --git a/devel/pacc/BUILD b/devel/pacc/BUILD
new file mode 100755
index 0000000..1bc0c4e
--- /dev/null
+++ b/devel/pacc/BUILD
@@ -0,0 +1,2 @@
+make pacc doc/pacc.man \
+ CFLAGS="$CFLAGS -std=c99 -Wall -Wextra -I."
diff --git a/devel/pacc/DEPENDS b/devel/pacc/DEPENDS
new file mode 100755
index 0000000..48f2e7f
--- /dev/null
+++ b/devel/pacc/DEPENDS
@@ -0,0 +1 @@
+depends help2man
diff --git a/devel/pacc/DETAILS b/devel/pacc/DETAILS
new file mode 100755
index 0000000..8347a59
--- /dev/null
+++ b/devel/pacc/DETAILS
@@ -0,0 +1,29 @@
+ SPELL=pacc
+ VERSION=0.3
+ SOURCE="$SPELL-$VERSION.tar.bz2"
+ SOURCE_URL[0]=https://static.paccrat.org/release/$SOURCE
+
SOURCE_HASH=sha512:b6f3cadf2ecc96a41a04558e6b8d9d4c55bba15b467c9a9354e51f6fe62898e4753321cceee14d9c8c84000381b64b3db3bd89793e9c27dd2c795fd4847194bb
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
+ WEB_SITE="https://paccrat.org/";
+ LICENSE[0]="GPL-3.0-only"
+ ENTERED=20190801
+ KEYWORDS=""
+ SHORT="a compiler-compiler"
+cat << EOF
+pacc is a compiler-compiler, somewhat like yacc (or bison). Its input is a
+description of a grammar, and its output is a C function that recognizes
+strings of that grammar. The significant technical difference is this:
+yacc reads a context-free grammar (CFGs), and writes a LALR(1) parser;
+pacc reads a parsing expression grammar (PEG), and writes a packrat parser.
+
+PEGs and packrat parsing offer several advantages over CFGs.
+
+* There is no need for a two-level structure with a separate lexer (this is
+ essentially a misfeature of CFGs - they are unable to express standard
+ tokenization rules naturally).
+* PEGs can “look ahead” in the input as far as they need to. * Despite
+arbitrary look-ahead, packrat parsers are linear in time and
+ space complexity: O(n) in the size of the input (whereas LALR(1) parsers
+ are O(n²), and fully general CFG parsing is O(n³)).
+* PEGs are easy to understand, and pleasant to work with.
+EOF
diff --git a/devel/pacc/HISTORY b/devel/pacc/HISTORY
new file mode 100644
index 0000000..d2d2fc5
--- /dev/null
+++ b/devel/pacc/HISTORY
@@ -0,0 +1,2 @@
+2019-08-01 Ismael Luceno <ismael AT sourcemage.org>
+ * BUILD, DEPENDS, DETAILS, INSTALL: spell created
diff --git a/devel/pacc/INSTALL b/devel/pacc/INSTALL
new file mode 100755
index 0000000..bddc0a3
--- /dev/null
+++ b/devel/pacc/INSTALL
@@ -0,0 +1,2 @@
+install -D -m555 {,"$INSTALL_ROOT"/usr/bin/}pacc -m555 &&
+install -D -m444 doc/pacc.man "$INSTALL_ROOT"/usr/share/man/man1/pacc.1



  • [SM-Commit] GIT changes to master grimoire by Ismael Luceno (f01cb6d3ec48863f4f184db421c156fdd7e2b8ca), Ismael Luceno, 08/01/2019

Archive powered by MHonArc 2.6.24.

Top of Page