From 8774901ecd849527cf4331905b397423f0296e68 Mon Sep 17 00:00:00 2001 From: Colin Eles Date: Thu, 23 Sep 2010 17:18:56 +0000 Subject: [PATCH] missed file in svn :{ git-svn-id: https://groke.mcmaster.ca/svn/grad/colin/trunk/TableTool@6246 57e6efec-57d4-0310-aeb1-a6c144bb1a8b --- @EMLGenerator/generate_eml_multi.m | 52 ++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 @EMLGenerator/generate_eml_multi.m diff --git a/@EMLGenerator/generate_eml_multi.m b/@EMLGenerator/generate_eml_multi.m new file mode 100644 index 0000000..a29c255 --- /dev/null +++ b/@EMLGenerator/generate_eml_multi.m @@ -0,0 +1,52 @@ +%% 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 + -- GitLab