emacs-elpa-diffs
[Top][All Lists]
Advanced

[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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]