| |
| 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;} |
| |
| /*-----------------------------------------------------------*/ |
| /*--- (Access to) Instance Variables ------------------------*/ |
| /*-----------------------------------------------------------*/ |
| |
| /** Actual entries for the row. */ |
| public lalr_state under_non_term[]; |
| }; |
| |