%% 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)


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));
    
    %if (i == 1)
    code = [code sprintf('%s := ',output)];
    %else
    %    code1 = [code1 sprintf(',%s',output)];
    %end
    resultcell = object.data.Grid0.search_return(g1.cells(i),g2_cell);
    if(~isempty(resultcell))
        %if (i == 1)
        code = [code sprintf('%s',object.matlab_to_pvs_syntax_translation(strtrim(char(resultcell.result_text))))];
        %else
        %    code2 = [code2 sprintf(',%s',strtrim(char(resultcell.result_text)))];
        %end
        %code1 = [code sprintf('%soutput = %s;\n',[space '  '],EMLGenerator.type_convert(object.datatype,strtrim(char(resultcell.result_text))))];
        
    else
    end
    if i ~= size(object.data.Grid1.cells,2)
        code = [code ','];
    end
end
code = ['(#' code '#)'];
%code1 = [code1 ']'];
%code2 = [code2 ']'];
%code = [code1 ' = ' code2 sprintf('\n')];

end

