The R Project SVN R

Rev

Rev 34062 | Rev 38840 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 34062 Rev 38673
Line 4... Line 4...
4
  Equivalent of evaluating the expressions:
4
  Equivalent of evaluating the expressions:
5
    postscript()
5
    postscript()
6
    plot(1:100)
6
    plot(1:100)
7
    q()
7
    q()
8
 */
8
 */
9
#include <R.h>
-
 
10
#include <Rinternals.h>
-
 
11
#include <Rdefines.h>
-
 
12
 
-
 
13
#include "embeddedRCall.h"
9
#include "embeddedRCall.h"
14
 
10
 
15
int
11
int
16
main(int argc, char *argv[])
12
main(int argc, char *argv[])
17
{
13
{
18
    SEXP fun, arg;
-
 
19
    SEXP e, e1;
14
    SEXP e, e1;
20
    /* char *localArgs[] = {"R", "--no-save", "--silent"}; */
15
    /* char *localArgs[] = {"R", "--no-save", "--silent"}; */
21
    init_R(argc, argv);
16
    init_R(argc, argv);
22
 
17
 
23
      /* postscript() */
18
    /* postscript() */
24
    PROTECT(fun = Rf_findFun(Rf_install("postscript"),  R_GlobalEnv));  
19
    PROTECT(e = lang1(install("postscript")));
25
    PROTECT(e = allocVector(LANGSXP, 1));
-
 
26
    SETCAR(e, fun);
-
 
27
    eval(e, R_GlobalEnv);
20
    eval(e, R_GlobalEnv);
28
    UNPROTECT(2);
21
    UNPROTECT(1);
29
 
-
 
30
 
22
 
31
    /* expression 1:100 */
23
    /* expression 1:100 */
32
 
24
 
33
    fun = Rf_findFun(Rf_install("plot"),  R_GlobalEnv);
-
 
34
    PROTECT(fun);
-
 
35
         /*  1:100 */
25
    /*  1:100 */
36
    PROTECT(e1 = allocVector(LANGSXP, 3));
26
    PROTECT(e1 = lang3(install(":"), ScalarInteger(1), ScalarInteger(100)));
37
    SETCAR(e1, Rf_install(":"));
27
    PROTECT(e = lang2(install("plot"), e1));
38
    SETCAR(CDR(e1), arg = NEW_INTEGER(1));
-
 
39
    INTEGER_DATA(arg)[0] = 1;
-
 
40
    SETCAR(CDR(CDR(e1)), arg = NEW_INTEGER(1));
-
 
41
    INTEGER_DATA(arg)[0] = 100;
-
 
42
    
-
 
43
 
-
 
44
    arg = e1;
-
 
45
    e = allocVector(LANGSXP, 3);
-
 
46
    PROTECT(e);
-
 
47
    SETCAR(e, fun);
-
 
48
    SETCAR(CDR(e), arg);
-
 
49
 
-
 
50
       /* plot( 1:100 )*/
28
    /* plot( 1:100 )*/
51
    eval(e, R_GlobalEnv);
29
    eval(e, R_GlobalEnv);
52
 
-
 
53
    UNPROTECT(2);
30
    UNPROTECT(2);
54
 
31
 
55
    /* q() */
32
    /* q() */
56
    PROTECT(fun = Rf_findFun(Rf_install("q"),  R_GlobalEnv));  
33
    PROTECT(e = lang2(install("q"), mkString("no")));
57
    PROTECT(e = allocVector(LANGSXP, 2));
-
 
58
    SETCAR(e, fun);
-
 
59
    SETCAR(CDR(e), arg = NEW_CHARACTER(1));
-
 
60
    SET_STRING_ELT(arg, 0, mkChar("no"));
-
 
61
    eval(e, R_GlobalEnv);
34
    eval(e, R_GlobalEnv);
62
    UNPROTECT(2);
35
    UNPROTECT(1);
63
 
36
 
64
    return(0);
37
    return(0);
65
}
38
}