Improve m2sci tool
[scilab.git] / scilab / modules / m2sci / macros / kernel / update_instr_list.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2002-2004 - INRIA - Vincent COUVERT
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
9
10 function [instr_list]=update_instr_list(instr_list,instr)
11     // M2SCI function
12
13     // Global variables for M2SCI
14     global("m2sci_to_insert_b")
15     if isempty(m2sci_to_insert_b)
16         m2sci_to_insert_b = list();
17     end
18     global("m2sci_to_insert_a")
19     if isempty(m2sci_to_insert_a)
20         m2sci_to_insert_a = list();
21     end
22
23     // Get instructions that must be inserted before converted instruction
24     for k=1:lstsize(m2sci_to_insert_b)
25         if m2sci_to_insert_b(k)<>list() then
26             instr_list($+1)=m2sci_to_insert_b(k)
27         end
28     end
29     m2sci_to_insert_b=list()
30
31     // Insert converted instruction
32     // instr can be an empty list if a call to 'm2scideclare' or convertion made in m2sci_to_insert_b
33     if instr<>list() then
34         instr_list($+1)=instr
35     end
36
37     // Get instructions that must be inserted after converted instruction
38     for k=1:lstsize(m2sci_to_insert_a)
39         if m2sci_to_insert_a(k)<>list() then
40             instr_list($+1)=m2sci_to_insert_a(k)
41         end
42     end
43     m2sci_to_insert_a=list()
44
45 endfunction