library(macro)
# Get path to demo macro program
src <- system.file("extdata/Demo4.R", package = "macro")
# Display source code
# - This is the macro input code
cd <- readLines(src)
cat(paste(cd, "\n"))
# #% Create some macro variables
# #%let x <- 1
# #%let y <- 2
# #%let z <- &x + &y
#
# #% Create a macro function
# #%macro test(vl = Hello!)
# print("&vl")
# #%mend
# Execute source code
msource(src, echo = FALSE)
# Examine symbol table
res <- symtable()
# View results
print(res)
# # Macro Symbol Table: 3 macro variables
# Name Value
# 1 &x 1
# 2 &y 2
# 3 &z 1 + 2
# # Macro Function List: 1 macro functions
# Name Parameter Default
# 1 test vl Hello!
# View results structure
print(res, verbose = TRUE)
# $variables
# $variables$`&x`
# [1] "1"
#
# $variables$`&y`
# [1] "2"
#
# $variables$`&z`
# [1] "1 + 2"
#
#
# $functions
# $functions$test
# $functions$test$parameters
# $functions$test$parameters$vl
# [1] "Hello!"
#
#
# $functions$test$code
# [1] "print(\"&vl\")"
# attr(,"start")
# [1] 8
# attr(,"end")
# [1] 8
Run the code above in your browser using DataLab