java_cup-0.11a.src.java_cup.parse_reduce_row Maven / Gradle / Ivy
Go to download
CUP is a system for generating LALR parsers from simple specifications. It serves the same role as
the widely used program YACC [1] and in fact offers most of the features of YACC. However, CUP is
written in Java, uses specifications including embedded Java code, and produces parsers which are
implemented in Java.
The newest version!
package java_cup;
/** This class represents one row (corresponding to one machine state) of the
* reduce-goto parse table.
*/
public class parse_reduce_row {
/*-----------------------------------------------------------*/
/*--- Constructor(s) ----------------------------------------*/
/*-----------------------------------------------------------*/
/** Simple constructor. Note: this should not be used until the number
* of terminals in the grammar has been established.
*/
public parse_reduce_row()
{
/* make sure the size is set */
if (_size <= 0 ) _size = non_terminal.number();
/* allocate the array */
under_non_term = new lalr_state[size()];
}
/*-----------------------------------------------------------*/
/*--- (Access to) Static (Class) Variables ------------------*/
/*-----------------------------------------------------------*/
/** Number of columns (non terminals) in every row. */
protected static int _size = 0;
/** Number of columns (non terminals) in every row. */
public static int size() {return _size;}
//Hm Added clear to clear all static fields
public static void clear() {
_size = 0;
}
/*-----------------------------------------------------------*/
/*--- (Access to) Instance Variables ------------------------*/
/*-----------------------------------------------------------*/
/** Actual entries for the row. */
public lalr_state under_non_term[];
}