[Rd] Standalone C++ application for processing R parser output(SEXP)
Dirk Eddelbuettel
edd at debian.org
Thu Mar 24 13:46:22 CET 2011
On 24 March 2011 at 08:08, Duncan Murdoch wrote:
| On 11-03-23 7:35 PM, Rob Anderson wrote:
| > Hi All,
| >
| > I am trying to write a source-to-source compiler for R. I am trying to
| > leverage the R parser code for the purpose. I am trying to transform the
| > SEXP returned from the parser into an AST for our own Ruby embedded Domain
| > specific language.
| >
| > I tried using R CMD SHBIN to compile a C function that parses arbitrary R
| > expressions. But I think, the generated .so file can be used from within R
| > and not be called from other C or Ruby programs(I get linker errors).
| >
| > My Idea is to use the SEXP processing functions/MACROS (CAR, CDR, CADR,
| > etc..) from within C code and transform it to our AST format. I tried
| > linking to libR.a and other lib*.so's when I compile the C code using gcc
| > but, it doesn't work.
| >
| > I read that R exposes only small number of functions for library/package
| > writers and the compiled *.so can only from within R.
| >
| > Any ideas on what is wrong, or how I can go about it?
|
| I think you need to think of your program as a new front end for R, even
| if you're only using a few R functions. See Chapter 8 in the Writing R
| Extensions manual.
Maybe also have a look at the parser package by Romain at
https://r-forge.r-project.org/R/?group_id=384
(and scroll down sufficiently on that page) which has the description
parser - Detailed R source code parser
detailed source code parser, based on the standard R parser but
organizing the information differently
which strikes me as close enough to what you describe. That said, Romain did
this for highlight so it may not be relevant.
Dirk
--
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the R-devel
mailing list