From 304102cc8e88d5e6c6f0cd0a9b7a9ff28bc8d372 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 11 May 2023 20:30:31 +0200 Subject: Introduction of (double) rejection made libparser a right-context-sensitive grammar parser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- README | 14 +++++++++++--- libparser.7 | 12 ++++++++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/README b/README index 9091ce7..90a3c0e 100644 --- a/README +++ b/README @@ -1,9 +1,9 @@ ->NAME - libparser - Context-free grammar parsing library +NAME + libparser - Right-context-sensitive grammar parsing library DESCRIPTION libparser is a small C library that parses input based on a - precompiled context-free grammar. + precompiled right-context-sensitive grammar. To use libparser, a developer should write a syntax for the input that his application shall parse, in a syntax based @@ -126,3 +126,11 @@ EXTENDED DESCRIPTION Left recursion is illegal (it will cause stack overflow at runtime as the empty condition before the recursion is always met). + + Right-context-sensitive grammar + libparser originally used context-free grammar, but with + introduction of the rejection rule, specifically the ability + to reject a rejection, it became a prase for + right-context-sensitive grammar which is a grammar that is + that can generate any context-sensitive language, it is however + weakly equivalent to context-sensitive grammar. diff --git a/libparser.7 b/libparser.7 index c81f746..adb051f 100644 --- a/libparser.7 +++ b/libparser.7 @@ -1,11 +1,11 @@ .TH LIBPARSER 7 LIBPARSER .SH NAME -libparser \- Context-free grammar parsing library +libparser \- Right-context-sensitive grammar parsing library .SH DESCRIPTION .B libparser is a small C library that parses input based on a -precompiled context-free grammar. +precompiled right-context-sensitive grammar. .PP To use .BR libparser , @@ -150,6 +150,14 @@ Left recursion is illegal (it will cause stack overflow at runtime as the empty condition before the recursion is always met). +.SS Right-context-sensitive grammar +libparser originally used context-free grammar, but with +introduction of the rejection rule, specifically the ability +to reject a rejection, it became a prase for +right-context-sensitive grammar which is a grammar that is +that can generate any context-sensitive language, it is +however weakly equivalent to context-sensitive grammar. + .SH SEE ALSO .BR libparser-generate (1), .BR libparser_parse_file (3) -- cgit v1.2.3-70-g09d2