help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can push parsers be used for C++ and Java


From: Akim Demaille
Subject: Re: Can push parsers be used for C++ and Java
Date: Sat, 2 May 2020 09:31:40 +0200

Hi Arthur,

> Le 14 déc. 2013 à 20:24, Arthur Schwarz <address@hidden> a écrit :
> 
> Section 3.7.13 page 88
>    States that the api.push-pull is only available for C. Is that right? Is 
> there any reason that is unusable in C++ and Java? I did send you a manual 
> bug on Java inconsistencies in the regard but after thinking about it awhile, 
> I can't see wat the issue is for C++ and Java. 

The issue is that someone has to implement the feature :)

Yet you were right, the Java skeleton does support push parsers.  I'm 
installing this.

Cheers!

commit 627513737876a71affdff311a297453568075607
Author: Akim Demaille <address@hidden>
Date:   Sat May 2 09:29:05 2020 +0200

    doc: java supports push parsers since 3.0 (2013-07-25)
    
    * doc/bison.texi: Clarify this.

diff --git a/doc/bison.texi b/doc/bison.texi
index eaa728e5..32d41924 100644
--- a/doc/bison.texi
+++ b/doc/bison.texi
@@ -2369,9 +2369,9 @@ yylex (void)
 @end group
 @end example
 
-Basically, the lexical analyzer performs the same processing as before:
-it skips blanks and tabs, and reads numbers or single-character tokens.
-In addition, it updates @code{yylloc}, the global variable (of type
+Basically, the lexical analyzer performs the same processing as before: it
+skips blanks and tabs, and reads numbers or single-character tokens.  In
+addition, it updates @code{yylloc}, the global variable (of type
 @code{YYLTYPE}) containing the token's location.
 
 Now, each time this function returns a token, the parser has its kind as
@@ -6132,7 +6132,7 @@ the @code{full} value was introduced in Bison 2.7
 @deffn Directive {%define api.push-pull} @var{kind}
 
 @itemize @bullet
-@item Language(s): C (deterministic parsers only)
+@item Language(s): C (deterministic parsers only), Java
 
 @item Purpose: Request a pull parser, a push parser, or both.
 @xref{Push Decl}.
@@ -13022,9 +13022,6 @@ of the parser is always local to an instance of the 
parser class.
 Therefore, all Java parsers are ``pure'', and the @code{%define api.pure}
 directive does nothing when used in Java.
 
-Push parsers are currently unsupported in Java and @code{%define
-api.push-pull} have no effect.
-
 GLR parsers are currently unsupported in Java.  Do not use the
 @code{glr-parser} directive.
 
@@ -14738,8 +14735,8 @@ In semantic actions, it stores the location of the 
lookahead token.
 @end deffn
 
 @deffn {Type} YYLTYPE
-Data type of @code{yylloc}; by default, a structure with four
-members.  @xref{Location Type}.
+Data type of @code{yylloc}; by default, a structure with four members.
+@xref{Location Type}.
 @end deffn
 
 @deffn {Variable} yylval




reply via email to

[Prev in Thread] Current Thread [Next in Thread]