[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ess 461bd6bee4: via automation generate the list of nam
From: |
ELPA Syncer |
Subject: |
[elpa] externals/ess 461bd6bee4: via automation generate the list of names for SAS functions and procedures |
Date: |
Wed, 6 Nov 2024 15:58:12 -0500 (EST) |
branch: externals/ess
commit 461bd6bee440b92c2dcddd64965eeabbdcc65e31
Author: rsparapa <rsparapa@mcw.edu>
Commit: rsparapa <rsparapa@mcw.edu>
via automation generate the list of names for SAS functions and procedures
---
etc/func.sas | 80 ++++++++++++++++++++++++++++++++++++++++++
etc/proc.sas | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 192 insertions(+)
diff --git a/etc/func.sas b/etc/func.sas
new file mode 100644
index 0000000000..78d9e1efcb
--- /dev/null
+++ b/etc/func.sas
@@ -0,0 +1,80 @@
+
+
+proc freq order=freq data=sashelp.vfunc;
+ tables source fnctype fncprod;
+run;
+
+/*
+title 'FNCPROD=B';
+proc print data=sashelp.vfunc;
+ where fncname>' ' & FNCPROD='B';
+run;
+
+title 'FNCPROD=X';
+proc print data=sashelp.vfunc;
+ where fncname>' ' & FNCPROD='X';
+run;
+
+title 'FNCPROD=T';
+proc print data=sashelp.vfunc;
+ where fncname>' ' & FNCPROD='T';
+run;
+
+title 'FNCPROD=I';
+proc print data=sashelp.vfunc;
+ where fncname>' ' & FNCPROD='I';
+run;
+
+ endsas;
+*/
+
+data vfunc;
+ set sashelp.vfunc end=last;
+ by fncname;
+ where fncname>' ' & (fncprod='X' | source=fncprod='B');
+ file "func.txt";
+
+ if _n_=1 then do;
+ put ";; SAS functions found in sashelp.vfunc where fncprod='X' |
source=fncprod='B'";
+ end;
+
+ if last.fncname;
+
+ fncname=lowcase(fncname);
+
+ retain alpha 'abcdefghijklmnopqrstuvwxyz' prev 1;
+
+ format fncname $quote32.;
+
+ i=indexc(alpha, substr(fncname, 1, 1));
+
+ if i>prev then do;
+ prev=i;
+ put;
+ end;
+
+ put fncname @;
+
+ if last then put;
+run;
+
+data vfunc;
+ set sashelp.vfunc end=last;
+ by fncname;
+ if last.fncname;
+
+ where fncname>' ' & (fncprod='X' | source=fncprod='B');
+ file "check-func.sas";
+
+ fncname=trim(lowcase(fncname))||'();';
+
+ put fncname;
+run;
+
+proc contents varnum;
+run;
+
+proc print;
+ var fncname;
+ format fncname $quote32.;
+run;
diff --git a/etc/proc.sas b/etc/proc.sas
new file mode 100644
index 0000000000..6e6758be96
--- /dev/null
+++ b/etc/proc.sas
@@ -0,0 +1,112 @@
+
+data proc;
+ length name $ 20;
+ input name;
+datalines;
+freq
+sgdesign
+sgmap
+sgplot
+sgrender
+sgscatter
+;
+run;
+
+%macro main;
+
+data files;
+ length file $ 200;
+ infile "ls1";
+ input file;
+run;
+
+%let k=%_nobs(data=files);
+
+%do i=1 %to &k;
+
+data _null_;
+ set files(obs=&i firstobs=&i);
+ call symput("file", trim(file));
+run;
+
+data _0;
+ length name $ 20;
+ infile "&file";
+ input @'PROC ' name;
+ name=compress(name, '.,: ');
+
+ if length(name)>1;
+
+ if verify(name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ')=0;
+
+ name=lowcase(name);
+run;
+
+%_sort(data=_0, out=_0, by=name, sort=nodupkey);
+
+data proc;
+ set proc _0;
+ by name;
+ if first.name;
+run;
+
+%end;
+
+data proc;
+ set proc;
+ by name;
+ where name not in('casoperate', 'casual',
+ 'datapath', 'dates', 'dath', 'dbms', 'descending', 'distr',
+ 'dmdb', 'dmine', 'dmneurl', 'dmreg', 'dmvq', 'docparse',
+ 'emclus', 'eng', 'entrytype', 'etb',
+ 'geostan', 'global', 'gremov',
+ 'imlh', 'imll', 'imstat', 'indexpath',
+ 'keepvars',
+ 'lasr', 'layout', 'listnode', 'lognumberformat',
+ 'maxsteps', 'mddb', 'mdx', 'missing', 'mlsid',
+ 'noexec', 'noseqcover',
+ 'ods', 'oliphant', 'outedge', 'outstat', 'outvert',
+ 'parms', 'path', 'pmbr', 'printinternalnames', 'printtarget',
+ 'record', 'records', 'reph',
+ 'sas', 'save', 'segsize', 'selectmgr', 'seth', 'spd', 'sq', 'sqlh',
'sqll',
+ 'svdonly', 'svm', 'svmscore', 'targetstd', 'taxonomy', 'tgparse',
'tpars',
+ 'xml', 'xsrun',
+ 'yzb');
+run;
+
+proc print;
+run;
+
+%mend main;
+
+%main;
+
+data proc;
+ set proc end=last;
+
+ file "proc.txt";
+
+ retain alpha 'abcdefghijklmnopqrstuvwxyz' prev 1;
+
+ format name $quote32.;
+
+ i=indexc(alpha, substr(name, 1, 1));
+
+ if i>prev then do;
+ prev=i;
+ put;
+ end;
+
+ put name @;
+
+ if last then put;
+run;
+
+data proc;
+length name $ 35;
+ set proc end=last;
+format name;
+ file "check-proc.sas";
+ name='proc '||trim(name)||';run;quit;';
+ put name;
+run;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/ess 461bd6bee4: via automation generate the list of names for SAS functions and procedures,
ELPA Syncer <=