1 package org.simantics.scl.compiler.parser.generator.compression;
3 import java.io.DataOutputStream;
5 import java.io.FileOutputStream;
6 import java.io.IOException;
8 public class CompressedParseTable {
9 public final CompressedTable actionTable;
10 public final int[] errorTable;
11 public final CompressedTable gotoTable;
12 public final int[] productionInfo;
13 public final int[] initialStates;
14 public final String[] stateDescriptions;
16 public CompressedParseTable(CompressedTable actionTable,
18 CompressedTable gotoTable, int[] productionInfo,
20 String[] stateDescriptions) {
21 this.actionTable = actionTable;
22 this.errorTable = errorTable;
23 this.gotoTable = gotoTable;
24 this.productionInfo = productionInfo;
25 this.initialStates = initialStates;
26 this.stateDescriptions = stateDescriptions;
29 public void writeTo(File file) throws IOException {
30 FileOutputStream stream = new FileOutputStream(file);
31 DataOutputStream output = new DataOutputStream(stream);
32 actionTable.writeTo(output);
33 for(int val : errorTable)
35 gotoTable.writeTo(output);
36 for(int val : productionInfo)