Commit 34e979de authored by Matthew Dawson's avatar Matthew Dawson
Browse files

Make VariableParser into a static only class.

Instead of having new instances of VariableParser created, and thus wrapping
a Map<String, Variable> in a very inelegant way, simply have a single method
that actually does the VariableParser work, and directly returns the Map.
Also ensure all tests + Matlab continue to work, and tighten up some extra
imports and Matlab output in affected areas.

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

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


% call the recursive function to generate the queries
+2 −2
Original line number Diff line number Diff line
@@ -13,8 +13,8 @@ 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(object.data.function_inputs);
parsed_input = inputs.getVarList();
inputs = ca.mcmaster.cas.tabularexpressiontoolbox.parsers.VariableParser.parseVariables(object.data.function_inputs);
parsed_input = inputs.values();
input_iter = parsed_input.iterator()
input = [];
while input_iter.hasNext()
+2 −2
Original line number Diff line number Diff line
@@ -14,8 +14,8 @@ error = object.check_call([],2);

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

    HGrid = ca.mcmaster.cas.tabularexpressiontoolbox.tablularexpression.HierarchicalGrid
    TableBlock.convert_hierarchical_grid_to_java(object.Data.Grid2.cells, HGrid.getSubHiearchy());
+5 −3
Original line number Diff line number Diff line
@@ -16,9 +16,9 @@
 */
package ca.mcmaster.cas.tabularexpressiontoolbox.cvc3generator;

import ca.mcmaster.cas.tabularexpressiontoolbox.expression.Variable;
import ca.mcmaster.cas.tabularexpressiontoolbox.parsers.MatlabParser;
import ca.mcmaster.cas.tabularexpressiontoolbox.expression.BooleanVariableType;
import ca.mcmaster.cas.tabularexpressiontoolbox.parsers.VariableParser;
import ca.mcmaster.cas.tabularexpressiontoolbox.expression.CVC3Generator;
import ca.mcmaster.cas.tabularexpressiontoolbox.tablularexpression.Cell;
import ca.mcmaster.cas.tabularexpressiontoolbox.tablularexpression.HierarchcialGridCheckerGenerator;
@@ -26,6 +26,8 @@ import java.util.ArrayList;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;

/**
@@ -34,7 +36,7 @@ import org.apache.commons.lang3.StringUtils;
 */
final public class HierarchicalGridCVC3Generator implements HierarchcialGridCheckerGenerator {

    public HierarchicalGridCVC3Generator(VariableParser variableDefinitions, int queryCountStart) {
    public HierarchicalGridCVC3Generator(Map<String, Variable> variableDefinitions, int queryCountStart) {
        m_variableDefinitions = variableDefinitions;
        m_currentTCC = queryCountStart;
    }
@@ -155,7 +157,7 @@ final public class HierarchicalGridCVC3Generator implements HierarchcialGridChec
    List<String> m_queries = new ArrayList<String>();

    // To fix properly.
    VariableParser m_variableDefinitions;
    Map<String, Variable> m_variableDefinitions;
    static BooleanVariableType m_booleanType = new BooleanVariableType();
    CVC3Generator m_CVC3Generator = new CVC3Generator();
}
+11 −2
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@ package ca.mcmaster.cas.tabularexpressiontoolbox.expression;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;

/**
@@ -183,8 +185,15 @@ final public class CVC3Generator implements CheckerGenerator{
    }

    @Override
    public String GenerateVariableDecleration(Variable var) {
        return var.name() + ":" + GenerateVariableType(var.type()) + ";";
    public String GenerateVariablesDeclaration(Map<String, Variable> vars) {
        StringBuilder ret = new StringBuilder();
        for(Variable var : vars.values()) {
            ret.append(var.name())
               .append(":")
               .append(GenerateVariableType(var.type()))
               .append(";\n");
        }
        return ret.toString();
    }

    @Override
Loading