Voglio scrivere un linguaggio di programmazione di elaborazione dati e analisi che compaia in SAS. Come scegliere la lingua in cui scrivere il mio compilatore?

3

Come progetto parallelo ho scritto una semplice macro in SAS per aggiungere zucchero sintetico al codice SAS. Odio quanto sia verbosa SAS a volte!

Quindi la mia macro assomiglia a questa

%macro md(code);
    /* expects a superquoted string */
   * append a b;
   %if %lowcase(%scan(&code.,1)) = append %then %do;
        proc append base = %scan(&code.,2) data=%scan(&code.,3); run;
    %end;
%mend;

Invece di scrivere

proc append base=a data=b; run;

per aggiungere due dataset, posso semplicemente scrivere

%md( append a b);

Questo mi ha fatto pensare. Dal momento che lavoro con SAS tutto il giorno e mi piace programmare. Perché no (per divertimento) progettare un nuovo linguaggio di elaborazione dei dati che compaia su SAS ?! Come molti di voi possono immaginare, questa idea è stata ispirata da CoffeeScript che è stata compilata con Javascript.

Ho saputo che CoffeeScript è stato inizialmente scritto in Ruby? Ma perché? In che modo l'autore ha scelto Ruby? Quali sono le cose da considerare nella scelta di una lingua? E quali risorse sono disponibili che potrebbero essere utili nel perseguire questo?

    
posta xiaodai 11.06.2013 - 11:12
fonte

1 risposta

-1

La tua lingua semplificata userà nessuna / poche opzioni, quindi sarà molto limitata.

Ad esempio, nessuna opzione "forza" nella macro dell'appendice.

Se vuoi una lingua più ricca, le tue macro diventeranno ... il linguaggio sas.

È normale e comune scrivere macro che fanno molte cose, non solo sostituire 7 parole

proc append base=a data=b; run;

con 3 parole.

%md( append a b);

Dove sono i risparmi in questo? Salva 3 parole e perdi tutte le opzioni.

Un uso migliore delle macro è fare cose più complesse, come trovare i primi 10 valori e tracciarli, o ordinare e de-duping un elenco macro.

    
risposta data 19.10.2016 - 10:05
fonte

Leggi altre domande sui tag