1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#! /bin/sh
######################################
##### Model Transformation Tools #####
######################################
# Bourne shell script: strip args
# Strips unwanted bits from a list of arguments
# Label file to symbolic parameters conversion
# Copyright (C) 2000 by Peter J. Gawthrop
## $Id$ ##
## $Log$
## Revision 1.5 2001/06/13 14:50:13 gawthrop
## Operator ^ now ok in args in abg and/or lbl
##
## Revision 1.4 2001/05/08 15:18:10 gawthrop
## Added trig and hyperbolic functions to argument exclusion list
##
## Revision 1.3 2000/10/17 12:33:13 peterg
|
>
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#! /bin/sh
######################################
##### Model Transformation Tools #####
######################################
# Bourne shell script: strip args
# Strips unwanted bits from a list of arguments
# Label file to symbolic parameters conversion
# Copyright (C) 2000 by Peter J. Gawthrop
## $Id$ ##
## $Log$
## Revision 1.6 2001/07/04 06:00:12 gawthrop
## Fixed a funny with tr - changed SEPS and REPS - something to do with ^
##
## Revision 1.5 2001/06/13 14:50:13 gawthrop
## Operator ^ now ok in args in abg and/or lbl
##
## Revision 1.4 2001/05/08 15:18:10 gawthrop
## Added trig and hyperbolic functions to argument exclusion list
##
## Revision 1.3 2000/10/17 12:33:13 peterg
|
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
SEPS='^=*;+/()-'
# Replace by ,
REPS='[,*]'
# This is the main transformation using gawk
tr $SEPS $REPS | \
awk '
function exact_match(name1, name2) {
return ((match(name1,name2)>0)&&(length(name1)==length(name2)))
}
function matches(names, name) {
n_matches = split(names,match_name);
matched = 0;
|
|
|
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
SEPS='^=*;+/()-'
# Replace by ,
REPS='[,*]'
# This is the main transformation using gawk
tr $SEPS $REPS | \
gawk '
function exact_match(name1, name2) {
return ((match(name1,name2)>0)&&(length(name1)==length(name2)))
}
function matches(names, name) {
n_matches = split(names,match_name);
matched = 0;
|