Overview
Comment:Initial aliasing code - but need to pass cbg via arg list
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | origin/master | trunk
Files: files | file ages | folders
SHA3-256: 6e272b8b19648a53a00847728cac2bc7c37976fac024e24c0e20baa0757a76b0
User & Date: gawthrop@users.sourceforge.net on 2003-03-14 14:19:04.000
Other Links: branch diff | manifest | tags
Context
2003-03-14
14:30:39
Tidied up some ifs check-in: 082d43c213 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
14:19:04
Initial aliasing code - but need to pass cbg via arg list check-in: 6e272b8b19 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
14:03:28
Fixed error message check-in: d29b325992 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
Changes
︙︙
20
21
22
23
24
25
26

27
28
29
30
31
32
33
34
35
36
37
38
39
40

41

42
43
44
45
46
47
48







49
50
51
52
53
54
55
  ##   Port -- the port of the component to which it is connected.
  ## 

  [Name,name] = mtt_subname(fullname); # Split fullname

  SD = "__";			# Subsystem delimiter
  CD = "\n%%";			# Comment delimiter


  DEBUG = 0;

  if DEBUG
    disp("=======================================");
    fullname, name, Name, port,causality,known
  endif
  
  eqn="## No equation -- something wrong"; # Default

  if length(known)<2		# Invalid
    known = "  ";
  endif


  cbg = mtt_cbg(Name);		# Structure for this subsystem


  if struct_contains (cbg, "ports")
    ## Combine ports with the other subsystems
    for [component_structure, component] = cbg.ports
      eval(sprintf("cbg.subsystems.%s=cbg.ports.%s;",component,component));
    endfor
  endif







  

  ## Call to a subsystem (represented by name="")
  if strcmp(name,"")
    if !struct_contains(cbg,"portlist")
      N_ports = 0;
    else







>














>
|
>
|






>
>
>
>
>
>
>







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
  ##   Port -- the port of the component to which it is connected.
  ## 

  [Name,name] = mtt_subname(fullname); # Split fullname

  SD = "__";			# Subsystem delimiter
  CD = "\n%%";			# Comment delimiter
  arg_default = "1";		# Default aliased arg

  DEBUG = 0;

  if DEBUG
    disp("=======================================");
    fullname, name, Name, port,causality,known
  endif
  
  eqn="## No equation -- something wrong"; # Default

  if length(known)<2		# Invalid
    known = "  ";
  endif

  if length(Name)>0
    cbg = mtt_cbg(Name);		# Structure for this subsystem
  endif
  
  if struct_contains (cbg, "ports")
    ## Combine ports with the other subsystems
    for [component_structure, component] = cbg.ports
      eval(sprintf("cbg.subsystems.%s=cbg.ports.%s;",component,component));
    endfor
  endif

  ## Aliasing  
  if length(name)>0
    eval(sprintf("ARG=cbg.subsystems.%s.arg;", name)); # Arguments
    ARG = mtt_alias (Name,ARG,arg_default); # Alias them
    eval(sprintf("cbg.subsystems.%s.arg=ARG;", name)); # and copy
  endif
  

  ## Call to a subsystem (represented by name="")
  if strcmp(name,"")
    if !struct_contains(cbg,"portlist")
      N_ports = 0;
    else
︙︙

MTT: Model Transformation Tools
[ GitHub | SourceHut | Sourceforge | Fossil RSS ]