Overview
Comment:Now detects symbolic args ($1 etc) and ignores them.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | origin/master | trunk
Files: files | file ages | folders
SHA3-256: a9384aee7d4cc299aa7fc085b37dffe56a8570131109050a004633ddb05877a4
User & Date: gawthrop@users.sourceforge.net on 1996-12-07 18:06:50.000
Other Links: branch diff | manifest | tags
Context
1996-12-07
18:20:11
Replaces null argument by a default and tells user. check-in: 67395c4bd4 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
18:06:50
Now detects symbolic args ($1 etc) and ignores them. check-in: a9384aee7d user: gawthrop@users.sourceforge.net tags: origin/master, trunk
17:37:07
Now handles numbered SS ports appearing at top level. check-in: 74e4c1ec17 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
Changes
︙︙
8
9
10
11
12
13
14



15
16
17
18
19
20
21
# Copyright (c) P.J.Gawthrop, 1996.

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$



## Revision 1.3  1996/08/30 10:30:54  peter
## Switched order of args in matches.
##
## Revision 1.2  1996/08/30 09:35:10  peter
## Fixed problem with global variable in function.
##
## Revision 1.1  1996/08/24 13:34:48  peter







>
>
>







8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Copyright (c) P.J.Gawthrop, 1996.

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
# Revision 1.4  1996/08/30  18:45:32  peter
# Removed header stuff.
#
## Revision 1.3  1996/08/30 10:30:54  peter
## Switched order of args in matches.
##
## Revision 1.2  1996/08/30 09:35:10  peter
## Fixed problem with global variable in function.
##
## Revision 1.1  1996/08/24 13:34:48  peter
︙︙
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82



    }
  }
  return matched;
    }


BEGIN {

comment = "%";
arg_delimiter = ",";
not_an_arg = "effort flow state internal external zero";
numeric = "[0-9]";
symbol_count = 0;
symbols = "";

}
{
  if ( (match($1,comment)==0) && (NF>=3) ) {






    args = $3;

    n_args = split(args,arg,arg_delimiter);
    for (i = 1; i <= n_args; i++) {
      first_char = substr(arg[i],1,1);
      if ( (matches(not_an_arg,arg[i])==0) \
	   && (match(first_char,numeric)==0) \

	   && (length(arg[i])>0) \
	   && (matches(symbols,arg[i]) ==0) ) {
	symbol_count++;
	symbols = sprintf("%s %s", symbols, arg[i]);
	  }
    }
  }
}
END {
# print the _sympar file

  printf("MTTNVar := %1.0f;\n", symbol_count);

  if (symbol_count>0) {
    printf("MATRIX MTTVar(MTTNVar,1);\n");
    split(symbols,symbol);
    for (i = 1; i <= symbol_count; i++) {
      printf("MTTVar(%1.0f,1) \t := %s;\n", i, symbol[i]);
    }
  }
  printf("END;\n\n");  
}










>


|



>



>
>
>
>
>
>
|
>





>




















|

>
>
>
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
    }
  }
  return matched;
    }


BEGIN {
sys_name = ARGV[1];
comment = "%";
arg_delimiter = ",";
not_an_arg = "effort flow state internal external zero 0 1";
numeric = "[0-9]";
symbol_count = 0;
symbols = "";
symbolic_arg_char = "$";
}
{
  if ( (match($1,comment)==0) && (NF>=3) ) {
# The following line is a bad attempt to use parameters in SS fields
# It assumes that at least one SS field is not_an_arg.
    if (matches(not_an_arg,$3)) {
      args = $2
	}
    else {
      args = $3;
    }
    n_args = split(args,arg,arg_delimiter);
    for (i = 1; i <= n_args; i++) {
      first_char = substr(arg[i],1,1);
      if ( (matches(not_an_arg,arg[i])==0) \
	   && (match(first_char,numeric)==0) \
	   && (match(first_char,symbolic_arg_char)==0) \
	   && (length(arg[i])>0) \
	   && (matches(symbols,arg[i]) ==0) ) {
	symbol_count++;
	symbols = sprintf("%s %s", symbols, arg[i]);
	  }
    }
  }
}
END {
# print the _sympar file

  printf("MTTNVar := %1.0f;\n", symbol_count);

  if (symbol_count>0) {
    printf("MATRIX MTTVar(MTTNVar,1);\n");
    split(symbols,symbol);
    for (i = 1; i <= symbol_count; i++) {
      printf("MTTVar(%1.0f,1) \t := %s;\n", i, symbol[i]);
    }
  }

}




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