Commit 8774901e authored by Colin Eles's avatar Colin Eles
Browse files

missed file in svn :{

git-svn-id: https://groke.mcmaster.ca/svn/grad/colin/trunk/TableTool@6246 57e6efec-57d4-0310-aeb1-a6c144bb1a8b
parent 4971d116
Loading
Loading
Loading
Loading
+52 −0
Original line number Diff line number Diff line
%% generate_eml_horizontal
%    generate the embedded matlab code for grid1, seperated from
%    the code for grid2 since for a 2d table grid1 conditions will
%    be sub conditions of grid2 conditions
% inputs:
%   object:EMLGenerator - current object
%   g1:Grid - Grid 1
%   g2_cell:Cell - Cell for which grid1 is sub conditon of
%   depth:int - integer representing recursion dept for formating
%   use
% outputs:
%   code:string - string of eml code
% Author: Colin Eles elesc@mcmaster.ca
% Organization: McMaster Centre for Software Certification
function code = generate_eml_multi(object,g1,g2_cell,depth)
space = '';
for i=1:depth
    space = [space sprintf('  ')];
end
code = [];
code2 = [];
elsecell = [];
for i=1:size(g1.cells,2)
    g1cond = g1.cells(i).cond_text;
    % condition string of otherwise corresponds to an else
    % statement, we allow this statement to be in any order
    % in the cells of the grid, so we need to find where it
    % is, if it exists.
    
    output_parsed = EMLGenerator.parse_inputs(strtrim(char(g1.cells(i).cond_text)));
    
    output = char(output_parsed{1}(1));
    
   
    code = [code sprintf('%s%s = ',space,output)];

    resultcell = object.data.Grid0.search_return(g1.cells(i),g2_cell);
    if(~isempty(resultcell))

        code = [code sprintf('%s;\n',EMLGenerator.type_convert(output,object.datatype,char(resultcell.result_text)))];
        
    else
        
    end
    
end




end