Commit 8aa67421 authored by Matthew Dawson's avatar Matthew Dawson
Browse files

Make VariableParser use an instance to allow for state information.

VariableParser now needs to store information about custom types (specifically
enumerations).  Thus make parseVariable take an instance now by making it
a method of VariableParser again.  Also change the TET to use a global
singleton (called TET) to store the TET's VariableParser (since the type
information is global to Matlab).

git-svn-id: https://groke.mcmaster.ca/svn/grad/colin/branches/TableTool_javization@11082 57e6efec-57d4-0310-aeb1-a6c144bb1a8b
parent 4bb2347c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ function_name = char(function_names{1}(1));

code = [];
% output the input variables
inputs = ca.mcmaster.cas.tabularexpressiontoolbox.parsers.VariableParser.parseVariables(object.data.function_inputs);
inputs = TET.getInstance.getVariableParser.parseVariables(object.data.function_inputs);
code = char(object.generator.GenerateVariablesDeclaration(inputs));


+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ function code = generate_preamble(object)
code = [];
function_name = EMLGenerator.parse_inputs(object.data.function_name);
%generate input list
inputs = ca.mcmaster.cas.tabularexpressiontoolbox.parsers.VariableParser.parseVariables(object.data.function_inputs);
inputs = TET.getInstance.getVariableParser.parseVariables(object.data.function_inputs);
parsed_input = inputs.values();
input_iter = parsed_input.iterator()
input = [];
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ error = object.check_call([],2);

if (~error)
    
    inputs = ca.mcmaster.cas.tabularexpressiontoolbox.parsers.VariableParser.parseVariables(object.Data.function_inputs);
    inputs = TET.getInstance.getVariableParser.parseVariables(object.Data.function_inputs);
    vars = inputs.values();

    HGrid = ca.mcmaster.cas.tabularexpressiontoolbox.tablularexpression.HierarchicalGrid
+4 −7
Original line number Diff line number Diff line
@@ -30,10 +30,7 @@ import org.antlr.v4.runtime.tree.TerminalNode;
 * @author Matthew Dawson
 */
final public class VariableParser {
    private VariableParser(String vars) {
    }
    
    public static Map<String, Variable> parseVariables(String variables) {
    public Map<String, Variable> parseVariables(String variables) {
        // create a CharStream that reads from standard input
        ANTLRInputStream input = new ANTLRInputStream(variables) {

+5 −3
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ public class HierarchicalGridCVC3GeneratorTest {

        nextGrid.get(1).getSubHiearchy().add(new HierarchicalCell("z == 0"));

        String out = HierarchcialGridCheckerWalkerGenerator.GenerateCheckerFromGrid(grid, new HierarchicalGridCVC3Generator(VariableParser.parseVariables("x,z"), 1));
        String out = HierarchcialGridCheckerWalkerGenerator.GenerateCheckerFromGrid(grid, new HierarchicalGridCVC3Generator(variableParser.parseVariables("x,z"), 1));

        String expected = "ECHO \"begin1\";\n"+
"PUSH;\n"+
@@ -88,4 +88,6 @@ public class HierarchicalGridCVC3GeneratorTest {
"ECHO \"end6\";\n";
        assertEquals(expected, out);
    }

    VariableParser variableParser = new VariableParser();
}
Loading