From e4fbb8b241f8e3dd06ff5cc4df162a02277aa72c Mon Sep 17 00:00:00 2001 From: Yannick Marcon Date: Fri, 6 Nov 2026 14:42:19 +0100 Subject: [PATCH 1/3] fix: apply strict mode and method mapping to nested function calls --- R/DSLiteServer.R | 4 ++-- tests/testthat/test-server.R | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/R/DSLiteServer.R b/R/DSLiteServer.R index dc09765..d80d90d 100644 --- a/R/DSLiteServer.R +++ b/R/DSLiteServer.R @@ -536,8 +536,8 @@ DSLiteServer <- R6::R6Class( } } - if (!is.null(self$children)) { - for (child in self$children) { + if (!is.null(node$children)) { + for (child in node$children) { if (!is.null(child)) { replaceFunctionNode(child) } diff --git a/tests/testthat/test-server.R b/tests/testthat/test-server.R index 10ed9e4..54d852c 100644 --- a/tests/testthat/test-server.R +++ b/tests/testthat/test-server.R @@ -35,6 +35,19 @@ test_that("session operations work", { expect_false(testServ$hasSession(sid)) }) +test_that("strict mode applies to nested function calls", { + methods <- data.frame(name = c("length", "sum"), value = c("base::length", "base::sum"), + class = "function", stringsAsFactors = FALSE) + serv <- DSLite::DSLiteServer$new(config = list(AggregateMethods = methods), strict = TRUE) + sid <- serv$newSession() + + expect_equal(serv$aggregate(sid, "length(sum(1))"), 1) + for (expr in c("nchar('a')", "length(nchar('a'))", "1 + nchar('a')", "-nchar('a')", "(nchar('a'))", "x = nchar('a')")) + expect_error(serv$aggregate(sid, expr), "does not allow expression: nchar") + + serv$closeSession(sid) +}) + test_that("options operations work", { testServ$options(list(foo="bar")) expect_equal(testServ$options(), list(foo="bar")) From b8f27676599aac21d05ee83e2591ae78616a1cdd Mon Sep 17 00:00:00 2001 From: Yannick Marcon Date: Fri, 6 Nov 2026 14:43:32 +0100 Subject: [PATCH 2/3] fix: align lexer and grammar with R operators Minus is no longer part of names and signs are no longer part of numbers, so a-f(1), 1-1 and x -1 parse as in R. Add ^, %*%, %% and %/%, unary plus, and follow R precedence. Formulas use the expression grammar, so the response can be an expression, and still reject strings and function calls. --- R/lex-yacc.R | 62 +++++++++++------------------- tests/testthat/test-parser.R | 74 +++++++++++++++++++++++++++++++++--- 2 files changed, 91 insertions(+), 45 deletions(-) diff --git a/R/lex-yacc.R b/R/lex-yacc.R index 31389b2..8f88ae1 100644 --- a/R/lex-yacc.R +++ b/R/lex-yacc.R @@ -8,7 +8,7 @@ Lexer <- R6::R6Class( tokens = TOKENS, literals = LITERALS, - t_NAME = '[a-zA-Z_][a-zA-Z\\d_\\$\\.-]*', + t_NAME = '[a-zA-Z_][a-zA-Z\\d_\\$\\.]*', t_STRING = '\'[a-zA-Z\\d_+-;:\\$]*\'', @@ -16,9 +16,9 @@ Lexer <- R6::R6Class( t_INTEGER = '\\d+L', - t_NUMBER = '[+-]?\\d+(\\.\\d+)?([eE][+-]?\\d+)?', + t_NUMBER = '\\d+(\\.\\d+)?([eE][+-]?\\d+)?', - t_PCTOP = '%[a-z]+%', + t_PCTOP = '%[a-z*/]*%', t_NOTOP = '!', @@ -38,10 +38,17 @@ Parser <- R6::R6Class( tokens = TOKENS, literals = LITERALS, # Parsing rules + # From the loosest to the tightest binding, see ?Syntax precedence = list( + c('right', '='), + c('left', '~'), + c('right', 'NOTOP'), c('left', '+', '-'), - c('left', '*', '/', 'PCTOP', ':', '^'), - c('right', 'UMINUS', 'NOTOP') + c('left', '*', '/'), + c('left', 'PCTOP'), + c('left', ':'), + c('right', 'UMINUS'), + c('right', '^') ), p_expression_named = function(doc='expression : NAME "=" expression', p) { @@ -51,49 +58,23 @@ Parser <- R6::R6Class( p$set(1, op) }, - p_expression_formula = function(doc='expression : NAME "~" formula_term', p) { + p_expression_formula = function(doc='expression : expression "~" expression', p) { op <- FormulaNode$new(p$get(3)) - op$add_child(SymbolNode$new(p$get(2))) - op$add_child(p$get(4)) - p$set(1, op) - }, - - p_formula_term_binop = function(doc="formula_term : formula_term '+' formula_term - | formula_term '-' formula_term - | formula_term '*' formula_term - | formula_term ':' formula_term - | formula_term '^' formula_term - | formula_term PCTOP formula_term", p) { - op <- BinaryOpNode$new(p$get(3)) op$add_child(p$get(2)) op$add_child(p$get(4)) + # formulas are not mapped to the configured methods + op$accept(list(visit = function(node) { + if (inherits(node, c("FunctionNode", "StringNode"))) + stop(sprintf("Syntax error in formula at '%s'", node$name)) + })) p$set(1, op) }, - p_formula_term_name = function(doc='formula_term : NAME', p) { - p$set(1, SymbolNode$new(p$get(2))) - }, - - p_formula_term_number = function(doc='formula_term : NUMBER', p) { - p$set(1, NumericNode$new(p$get(2))) - }, - - p_formula_term_not = function(doc='formula_term : NOTOP formula_term', p) { - op <- UnaryOpNode$new("!") - op$add_child(p$get(3)) - p$set(1, op) - }, - - p_formula_term_group = function(doc="formula_term : '(' formula_term ')'", p) { - gn <- GroupNode$new() - gn$add_child(p$get(3)) - p$set(1, gn) - }, - p_expression_binop = function(doc="expression : expression '+' expression | expression '-' expression | expression '*' expression | expression '/' expression + | expression '^' expression | expression ':' expression | expression PCTOP expression", p) { if (p$get(3) == ':') { @@ -109,8 +90,9 @@ Parser <- R6::R6Class( } }, - p_expression_uminus = function(doc="expression : '-' expression %prec UMINUS", p) { - op <- UnaryOpNode$new("-") + p_expression_uminus = function(doc="expression : '-' expression %prec UMINUS + | '+' expression %prec UMINUS", p) { + op <- UnaryOpNode$new(p$get(2)) op$add_child(p$get(3)) p$set(1, op) }, diff --git a/tests/testthat/test-parser.R b/tests/testthat/test-parser.R index ac9c3b2..866af7a 100644 --- a/tests/testthat/test-parser.R +++ b/tests/testthat/test-parser.R @@ -12,7 +12,7 @@ test_that("A number", { test_that("A negative number", { ast <- DSLite::testParse("-0.43151402098822") - expect_true(inherits(ast, "NumericNode")) + expect_true(inherits(ast, "UnaryOpNode")) expect_equal(ast$to_string(), "-0.43151402098822") }) @@ -34,13 +34,13 @@ test_that("A number with floating point and exponent", { test_that("A number with floating point, exponent and negative signs", { ast <- DSLite::testParse("-3.1e-4") - expect_true(inherits(ast, "NumericNode")) + expect_true(inherits(ast, "UnaryOpNode")) expect_equal(ast$to_string(), "-3.1e-4") }) test_that("A number with floating point, exponent and positive signs", { ast <- DSLite::testParse("+3.1e+4") - expect_true(inherits(ast, "NumericNode")) + expect_true(inherits(ast, "UnaryOpNode")) expect_equal(ast$to_string(), "+3.1e+4") }) @@ -124,9 +124,9 @@ test_that("A symbol", { expect_true(inherits(ast, "SymbolNode")) expect_equal(ast$to_string(), "abc") - ast <- DSLite::testParse("abc-DEF.123X$var_12") + ast <- DSLite::testParse("abc.DEF.123X$var_12") expect_true(inherits(ast, "SymbolNode")) - expect_equal(ast$to_string(), "abc-DEF.123X$var_12") + expect_equal(ast$to_string(), "abc.DEF.123X$var_12") }) test_that("Symbol with invalid chars", { @@ -182,6 +182,50 @@ test_that("Unary not operator", { expect_equal(ast$to_string(), "!A") }) +test_that("Minus sign is an operator", { + expect_equal(DSLite::testParse("1-1")$to_string(), "1 - 1") + expect_equal(DSLite::testParse("x -1")$to_string(), "x - 1") + expect_equal(DSLite::testParse("x+1")$to_string(), "x + 1") + expect_equal(DSLite::testParse("-1L")$to_string(), "-1L") + + ast <- DSLite::testParse("a-f(1)") + expect_true(inherits(ast, "BinaryOpNode")) + expect_true(inherits(ast$children[[2]], "FunctionNode")) + expect_equal(ast$children[[2]]$name, "f") + + ast <- DSLite::testParse("a-(b)") + expect_true(inherits(ast, "BinaryOpNode")) + expect_equal(ast$to_string(), "a - (b)") +}) + +test_that("Power and pct operators", { + expect_equal(DSLite::testParse("a^2")$to_string(), "a^2") + expect_equal(DSLite::testParse("A %*% B")$to_string(), "A %*% B") + expect_equal(DSLite::testParse("A %% B")$to_string(), "A %% B") + expect_equal(DSLite::testParse("A %/% B")$to_string(), "A %/% B") +}) + +test_that("Operators follow R precedence", { + # the shape of the tree must be the one R gives: operator at the root, then its operands + root <- function(expr) { + ast <- DSLite::testParse(expr) + c(ast$name, ast$children[[1]]$to_string()) + } + expect_equal(root("a * b + c"), c("+", "a * b")) + expect_equal(root("a - b - c"), c("-", "a - b")) + expect_equal(root("a^b^c"), c("^", "a")) + expect_equal(root("-2^2"), c("-", "2^2")) + expect_equal(root("-1:3"), c(":", "-1")) + expect_equal(root("1:3^2"), c(":", "1")) + expect_equal(root("2 * 1:3"), c("*", "2")) +}) + +test_that("Round trip is the same expression for R", { + for (expr in c("a*b-c", "-2^2", "1:3^2", "2^1:3", "-1:3", "a^b^c", "1-1", "x -1", "a-f(1)", "f(1 -2)", + "a %*% b", "y-1 ~ x", "a + b ~ c", "y ~ -x", "y ~ x -1", "y ~ a/b + c", "-y ~ x")) + expect_identical(parse(text = DSLite::testParse(expr)$to_string())[[1]], parse(text = expr)[[1]], info = expr) +}) + # # Group # @@ -247,11 +291,31 @@ test_that("A formula with operators", { ast <- DSLite::testParse("A ~ B + (C * D)^4 : E %in% F") expect_true(inherits(ast, "FormulaNode")) expect_equal(ast$to_string(), "A ~ B + (C * D)^4:E %in% F") + + ast <- DSLite::testParse("A ~ B / C") + expect_true(inherits(ast, "FormulaNode")) + expect_equal(ast$to_string(), "A ~ B / C") + + ast <- DSLite::testParse("A ~ -1 + B") + expect_true(inherits(ast, "FormulaNode")) + expect_equal(ast$to_string(), "A ~ -1 + B") +}) + +test_that("A formula with an expression as response", { + ast <- DSLite::testParse("A-1~B") + expect_true(inherits(ast, "FormulaNode")) + expect_equal(ast$to_string(), "A - 1 ~ B") + + ast <- DSLite::testParse("A + B ~ C") + expect_true(inherits(ast, "FormulaNode")) + expect_equal(ast$to_string(), "A + B ~ C") }) test_that("Formula with invalid syntax", { expect_error(DSLite::testParse("A ~ 'abc'")) expect_error(DSLite::testParse("D$height ~ D$diameter + poly(D$length, 3, raw=TRUE)")) + expect_error(DSLite::testParse("log(A) ~ B")) + expect_error(DSLite::testParse("A ~ (log(B))")) }) # From d152552938a8b08ff7ad2bf3fbc52f319c7d8699 Mon Sep 17 00:00:00 2001 From: Yannick Marcon Date: Fri, 6 Nov 2026 16:02:43 +0100 Subject: [PATCH 3/3] chore: updated roxygen version --- DESCRIPTION | 2 +- man/BinaryOpNode.Rd | 92 ++-- man/DSLiteServer.Rd | 1013 +++++++++++++++++++----------------- man/FormulaNode.Rd | 92 ++-- man/FunctionNode.Rd | 66 +-- man/GroupNode.Rd | 66 +-- man/Node.Rd | 201 +++---- man/NumericNode.Rd | 92 ++-- man/ParameterNode.Rd | 92 ++-- man/RangeNode.Rd | 92 ++-- man/StringNode.Rd | 92 ++-- man/SymbolNode.Rd | 92 ++-- man/UnaryOpNode.Rd | 92 ++-- man/newDSLiteServer.Rd | 2 +- man/setupCNSIMTest.Rd | 12 +- man/setupDASIMTest.Rd | 12 +- man/setupDATASETTest.Rd | 12 +- man/setupDISCORDANTTest.Rd | 12 +- man/setupDSLiteServer.Rd | 12 +- man/setupSURVIVALTest.Rd | 12 +- 20 files changed, 1124 insertions(+), 1034 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index f084af3..fd5f9bb 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -30,7 +30,6 @@ URL: https://github.com/datashield/DSLite/, https://datashield.org/, https://doi.org/10.1093/ije/dyu188 BugReports: https://github.com/datashield/DSLite/issues/ -RoxygenNote: 7.3.2 Roxygen: list(markdown = TRUE) VignetteBuilder: knitr Encoding: UTF-8 @@ -55,3 +54,4 @@ Collate: 'setupDSLiteServer.R' 'setupSURVIVALTest.R' 'testParse.R' +Config/roxygen2/version: 8.1.0 diff --git a/man/BinaryOpNode.Rd b/man/BinaryOpNode.Rd index 84d9268..54ba961 100644 --- a/man/BinaryOpNode.Rd +++ b/man/BinaryOpNode.Rd @@ -8,7 +8,7 @@ AST node that represents a binary operation (such as '+', '-' etc.), and therefore having two child nodes. } \seealso{ -Other parser items: +Other parser items: \code{\link{FormulaNode}}, \code{\link{FunctionNode}}, \code{\link{GroupNode}}, @@ -22,68 +22,72 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{BinaryOpNode} +\code{\link[DSLite:Node]{Node}} -> \code{BinaryOpNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-BinaryOpNode-add_child}{\code{BinaryOpNode$add_child()}} -\item \href{#method-BinaryOpNode-to_string}{\code{BinaryOpNode$to_string()}} -\item \href{#method-BinaryOpNode-clone}{\code{BinaryOpNode$clone()}} + \itemize{ + \item \href{#method-BinaryOpNode-add_child}{\code{BinaryOpNode$add_child()}} + \item \href{#method-BinaryOpNode-to_string}{\code{BinaryOpNode$to_string()}} + \item \href{#method-BinaryOpNode-clone}{\code{BinaryOpNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-BinaryOpNode-add_child}{}}} -\subsection{Method \code{add_child()}}{ -Two children -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{BinaryOpNode$add_child(val)}\if{html}{\out{
}} +\subsection{\code{BinaryOpNode$add_child()}}{ + Two children + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{BinaryOpNode$add_child(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Child Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Child Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-BinaryOpNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the BinaryOpNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{BinaryOpNode$to_string()}\if{html}{\out{
}} +\subsection{\code{BinaryOpNode$to_string()}}{ + Get the string representation of the BinaryOpNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{BinaryOpNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-BinaryOpNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{BinaryOpNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{BinaryOpNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{BinaryOpNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/DSLiteServer.Rd b/man/DSLiteServer.Rd index c356cf1..d358e22 100644 --- a/man/DSLiteServer.Rd +++ b/man/DSLiteServer.Rd @@ -10,665 +10,706 @@ DataSHIELD-like functions: aggregate and assign. A DataSHIELD session is a R environment where the assignment and the operations happen. } \seealso{ -Other server-side items: -\code{\link{newDSLiteServer}()} +Other server-side items: +\code{\link[=newDSLiteServer]{newDSLiteServer()}} } \concept{server-side items} \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-DSLiteServer-new}{\code{DSLiteServer$new()}} -\item \href{#method-DSLiteServer-config}{\code{DSLiteServer$config()}} -\item \href{#method-DSLiteServer-profile}{\code{DSLiteServer$profile()}} -\item \href{#method-DSLiteServer-strict}{\code{DSLiteServer$strict()}} -\item \href{#method-DSLiteServer-home}{\code{DSLiteServer$home()}} -\item \href{#method-DSLiteServer-workspaces}{\code{DSLiteServer$workspaces()}} -\item \href{#method-DSLiteServer-workspace_save}{\code{DSLiteServer$workspace_save()}} -\item \href{#method-DSLiteServer-workspace_restore}{\code{DSLiteServer$workspace_restore()}} -\item \href{#method-DSLiteServer-workspace_rm}{\code{DSLiteServer$workspace_rm()}} -\item \href{#method-DSLiteServer-aggregateMethods}{\code{DSLiteServer$aggregateMethods()}} -\item \href{#method-DSLiteServer-aggregateMethod}{\code{DSLiteServer$aggregateMethod()}} -\item \href{#method-DSLiteServer-assignMethods}{\code{DSLiteServer$assignMethods()}} -\item \href{#method-DSLiteServer-assignMethod}{\code{DSLiteServer$assignMethod()}} -\item \href{#method-DSLiteServer-options}{\code{DSLiteServer$options()}} -\item \href{#method-DSLiteServer-option}{\code{DSLiteServer$option()}} -\item \href{#method-DSLiteServer-newSession}{\code{DSLiteServer$newSession()}} -\item \href{#method-DSLiteServer-hasSession}{\code{DSLiteServer$hasSession()}} -\item \href{#method-DSLiteServer-getSession}{\code{DSLiteServer$getSession()}} -\item \href{#method-DSLiteServer-getSessionIds}{\code{DSLiteServer$getSessionIds()}} -\item \href{#method-DSLiteServer-getSessionData}{\code{DSLiteServer$getSessionData()}} -\item \href{#method-DSLiteServer-closeSession}{\code{DSLiteServer$closeSession()}} -\item \href{#method-DSLiteServer-tableNames}{\code{DSLiteServer$tableNames()}} -\item \href{#method-DSLiteServer-hasTable}{\code{DSLiteServer$hasTable()}} -\item \href{#method-DSLiteServer-resourceNames}{\code{DSLiteServer$resourceNames()}} -\item \href{#method-DSLiteServer-hasResource}{\code{DSLiteServer$hasResource()}} -\item \href{#method-DSLiteServer-symbols}{\code{DSLiteServer$symbols()}} -\item \href{#method-DSLiteServer-symbol_rm}{\code{DSLiteServer$symbol_rm()}} -\item \href{#method-DSLiteServer-assignTable}{\code{DSLiteServer$assignTable()}} -\item \href{#method-DSLiteServer-assignResource}{\code{DSLiteServer$assignResource()}} -\item \href{#method-DSLiteServer-assignExpr}{\code{DSLiteServer$assignExpr()}} -\item \href{#method-DSLiteServer-aggregate}{\code{DSLiteServer$aggregate()}} -\item \href{#method-DSLiteServer-clone}{\code{DSLiteServer$clone()}} -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-DSLiteServer-new}{}}} -\subsection{Method \code{new()}}{ -Create new DSLiteServer instance. See \link{defaultDSConfiguration} function for including or excluding packages + \itemize{ + \item \href{#method-DSLiteServer-initialize}{\code{DSLiteServer$new()}} + \item \href{#method-DSLiteServer-config}{\code{DSLiteServer$config()}} + \item \href{#method-DSLiteServer-profile}{\code{DSLiteServer$profile()}} + \item \href{#method-DSLiteServer-strict}{\code{DSLiteServer$strict()}} + \item \href{#method-DSLiteServer-home}{\code{DSLiteServer$home()}} + \item \href{#method-DSLiteServer-workspaces}{\code{DSLiteServer$workspaces()}} + \item \href{#method-DSLiteServer-workspace_save}{\code{DSLiteServer$workspace_save()}} + \item \href{#method-DSLiteServer-workspace_restore}{\code{DSLiteServer$workspace_restore()}} + \item \href{#method-DSLiteServer-workspace_rm}{\code{DSLiteServer$workspace_rm()}} + \item \href{#method-DSLiteServer-aggregateMethods}{\code{DSLiteServer$aggregateMethods()}} + \item \href{#method-DSLiteServer-aggregateMethod}{\code{DSLiteServer$aggregateMethod()}} + \item \href{#method-DSLiteServer-assignMethods}{\code{DSLiteServer$assignMethods()}} + \item \href{#method-DSLiteServer-assignMethod}{\code{DSLiteServer$assignMethod()}} + \item \href{#method-DSLiteServer-options}{\code{DSLiteServer$options()}} + \item \href{#method-DSLiteServer-option}{\code{DSLiteServer$option()}} + \item \href{#method-DSLiteServer-newSession}{\code{DSLiteServer$newSession()}} + \item \href{#method-DSLiteServer-hasSession}{\code{DSLiteServer$hasSession()}} + \item \href{#method-DSLiteServer-getSession}{\code{DSLiteServer$getSession()}} + \item \href{#method-DSLiteServer-getSessionIds}{\code{DSLiteServer$getSessionIds()}} + \item \href{#method-DSLiteServer-getSessionData}{\code{DSLiteServer$getSessionData()}} + \item \href{#method-DSLiteServer-closeSession}{\code{DSLiteServer$closeSession()}} + \item \href{#method-DSLiteServer-tableNames}{\code{DSLiteServer$tableNames()}} + \item \href{#method-DSLiteServer-hasTable}{\code{DSLiteServer$hasTable()}} + \item \href{#method-DSLiteServer-resourceNames}{\code{DSLiteServer$resourceNames()}} + \item \href{#method-DSLiteServer-hasResource}{\code{DSLiteServer$hasResource()}} + \item \href{#method-DSLiteServer-symbols}{\code{DSLiteServer$symbols()}} + \item \href{#method-DSLiteServer-symbol_rm}{\code{DSLiteServer$symbol_rm()}} + \item \href{#method-DSLiteServer-assignTable}{\code{DSLiteServer$assignTable()}} + \item \href{#method-DSLiteServer-assignResource}{\code{DSLiteServer$assignResource()}} + \item \href{#method-DSLiteServer-assignExpr}{\code{DSLiteServer$assignExpr()}} + \item \href{#method-DSLiteServer-aggregate}{\code{DSLiteServer$aggregate()}} + \item \href{#method-DSLiteServer-clone}{\code{DSLiteServer$clone()}} + } +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-DSLiteServer-initialize}{}}} +\subsection{\code{DSLiteServer$new()}}{ + Create new DSLiteServer instance. See \link{defaultDSConfiguration} function for including or excluding packages when discovering the DataSHIELD configuration from the DataSHIELD server-side packages (meta-data from the DESCRIPTION files). -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$new( + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$new( tables = list(), resources = list(), config = DSLite::defaultDSConfiguration(), strict = TRUE, home = file.path(tempdir(), ".dslite"), profile = "default" -)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{tables}}{A named list of data.frames representing the harmonized tables.} - -\item{\code{resources}}{A named list of \code{resourcer::Resource} objects representing accessible data or computation resources.} - -\item{\code{config}}{The DataSHIELD configuration. Default is to discover it from the DataSHIELD server-side R packages.} - -\item{\code{strict}}{Logical to specify whether the DataSHIELD configuration must be strictly applied. Default is TRUE.} - -\item{\code{home}}{Folder location where are located the session work directory and where to read and dump workspace images.} - -\item{\code{profile}}{The DataSHIELD profile name, used to give a name to the DS configuration. Default is "default". +)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{tables}}{A named list of data.frames representing the harmonized tables.} + \item{\code{resources}}{A named list of \code{resourcer::Resource} objects representing accessible data or computation resources.} + \item{\code{config}}{The DataSHIELD configuration. Default is to discover it from the DataSHIELD server-side R packages.} + \item{\code{strict}}{Logical to specify whether the DataSHIELD configuration must be strictly applied. Default is TRUE.} + \item{\code{home}}{Folder location where are located the session work directory and where to read and dump workspace images.} + \item{\code{profile}}{The DataSHIELD profile name, used to give a name to the DS configuration. Default is "default". Default is in a hidden folder of the R session's temporary directory.} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + A DSLiteServer object + } } -\if{html}{\out{
}} -} -\subsection{Returns}{ -A DSLiteServer object -} -} + \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-config}{}}} -\subsection{Method \code{config()}}{ -Get or set the DataSHIELD configuration. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$config(value)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$config()}}{ + Get or set the DataSHIELD configuration. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$config(value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{value}}{The DataSHIELD configuration: aggregate/assign methods in data frames and a named list of options.} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The DataSHIELD configuration, if no parameter is provided. + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{value}}{The DataSHIELD configuration: aggregate/assign methods in data frames and a named list of options.} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -The DataSHIELD configuration, if no parameter is provided. -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-profile}{}}} -\subsection{Method \code{profile()}}{ -Get or set the DataSHIELD profile name. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$profile(value)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$profile()}}{ + Get or set the DataSHIELD profile name. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$profile(value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{value}}{The DataSHIELD profile name.} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The DataSHIELD profile, if no parameter is provided. + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{value}}{The DataSHIELD profile name.} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -The DataSHIELD profile, if no parameter is provided. -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-strict}{}}} -\subsection{Method \code{strict()}}{ -Get or set the level of strictness (stop when function call is not configured) -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$strict(value)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$strict()}}{ + Get or set the level of strictness (stop when function call is not configured) + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$strict(value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{value}}{The \code{strict} logical field.} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The strict field if no parameter is provided. + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{value}}{The \code{strict} logical field.} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -The strict field if no parameter is provided. -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-home}{}}} -\subsection{Method \code{home()}}{ -Get or set the home folder location where are located the session work directories and where to read and dump workspace images. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$home(value)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$home()}}{ + Get or set the home folder location where are located the session work directories and where to read and dump workspace images. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$home(value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{value}}{The path to the home folder.} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The home folder path if no parameter is provided. + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{value}}{The path to the home folder.} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -The home folder path if no parameter is provided. -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-workspaces}{}}} -\subsection{Method \code{workspaces()}}{ -List the saved workspaces in the \code{home} folder. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$workspaces(prefix = NULL)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$workspaces()}}{ + List the saved workspaces in the \code{home} folder. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$workspaces(prefix = NULL)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{prefix}}{Filter workspaces starting with provided prefix (optional).} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{prefix}}{Filter workspaces starting with provided prefix (optional).} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-workspace_save}{}}} -\subsection{Method \code{workspace_save()}}{ -Save the session's workspace image identified by the \code{sid} identifier +\subsection{\code{DSLiteServer$workspace_save()}}{ + Save the session's workspace image identified by the \code{sid} identifier with the provided \code{name} in the \code{home} folder. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$workspace_save(sid, name)}\if{html}{\out{
}} + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$workspace_save(sid, name)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid, }}{Session ID} + \item{\code{name}}{The name to be given to the workspace's image.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid, }}{Session ID} - -\item{\code{name}}{The name to be given to the workspace's image.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-workspace_restore}{}}} -\subsection{Method \code{workspace_restore()}}{ -Restore a saved session's workspace image into the session identified by the \code{sid} identifier +\subsection{\code{DSLiteServer$workspace_restore()}}{ + Restore a saved session's workspace image into the session identified by the \code{sid} identifier with the provided \code{name} in the \code{home} folder. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$workspace_restore(sid, name)}\if{html}{\out{
}} + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$workspace_restore(sid, name)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid, }}{Session ID} + \item{\code{name}}{The name of the workspace's image to restore.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid, }}{Session ID} - -\item{\code{name}}{The name of the workspace's image to restore.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-workspace_rm}{}}} -\subsection{Method \code{workspace_rm()}}{ -Remove the workspace image with the provided \code{name} from the \code{home} folder. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$workspace_rm(name)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$workspace_rm()}}{ + Remove the workspace image with the provided \code{name} from the \code{home} folder. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$workspace_rm(name)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{name}}{The name of the workspace.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{name}}{The name of the workspace.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-aggregateMethods}{}}} -\subsection{Method \code{aggregateMethods()}}{ -Get or set the aggregate methods. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$aggregateMethods(value)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{value}}{A \code{data.frame} with columns: \code{name} (the client function call), +\subsection{\code{DSLiteServer$aggregateMethods()}}{ + Get or set the aggregate methods. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$aggregateMethods(value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{value}}{A \code{data.frame} with columns: \code{name} (the client function call), \code{value} (the translated server call), \code{package} (relevant when extracted from a DataSHIELD server-side package), \code{version} (relevant when extracted from a DataSHIELD server-side package), \code{type} ("aggregate"), \code{class} ("function" for package functions or "script" for custom scripts).} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The aggregate methods when no parameter is provided. + } } -\if{html}{\out{
}} -} -\subsection{Returns}{ -The aggregate methods when no parameter is provided. -} -} + \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-aggregateMethod}{}}} -\subsection{Method \code{aggregateMethod()}}{ -Get or set an aggregate method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$aggregateMethod(name, value)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$aggregateMethod()}}{ + Get or set an aggregate method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$aggregateMethod(name, value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{name}}{The client function call.} + \item{\code{value}}{The translated server call: either a package function reference or function expression. Remove the method when \code{NULL}.} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The aggregate method when no \code{value} parameter is provided. + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{name}}{The client function call.} - -\item{\code{value}}{The translated server call: either a package function reference or function expression. Remove the method when \code{NULL}.} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -The aggregate method when no \code{value} parameter is provided. -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-assignMethods}{}}} -\subsection{Method \code{assignMethods()}}{ -Get or set the assign methods. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$assignMethods(value)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{value}}{A \code{data.frame} with columns: \code{name} (the client function call), \code{value} (the translated server call), +\subsection{\code{DSLiteServer$assignMethods()}}{ + Get or set the assign methods. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$assignMethods(value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{value}}{A \code{data.frame} with columns: \code{name} (the client function call), \code{value} (the translated server call), \code{package} (relevant when extracted from a DataSHIELD server-side package), \code{version} (relevant when extracted from a DataSHIELD server-side package), \code{type} ("assign"), \code{class} ("function" for package functions or "script" for custom scripts).} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The assign methods when no parameter is provided. + } } -\if{html}{\out{
}} -} -\subsection{Returns}{ -The assign methods when no parameter is provided. -} -} + \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-assignMethod}{}}} -\subsection{Method \code{assignMethod()}}{ -Get or set an assign method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$assignMethod(name, value)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$assignMethod()}}{ + Get or set an assign method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$assignMethod(name, value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{name}}{The client function call} + \item{\code{value}}{The translated server call: either a package function reference or function expression. Remove the method when \code{NULL}.} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The assign method when no \code{value} parameter is provided. + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{name}}{The client function call} - -\item{\code{value}}{The translated server call: either a package function reference or function expression. Remove the method when \code{NULL}.} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -The assign method when no \code{value} parameter is provided. -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-options}{}}} -\subsection{Method \code{options()}}{ -Get or set the DataSHIELD R options that are applied when a new DataSHIELD session is started. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$options(value)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$options()}}{ + Get or set the DataSHIELD R options that are applied when a new DataSHIELD session is started. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$options(value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{value}}{A named list of options.} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The R options when no parameter is provided. + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{value}}{A named list of options.} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -The R options when no parameter is provided. -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-option}{}}} -\subsection{Method \code{option()}}{ -Get or set a R option. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$option(key, value)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$option()}}{ + Get or set a R option. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$option(key, value)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{key}}{The R option's name.} + \item{\code{value}}{The R option's value. Remove the option when \code{NULL}.} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + The R option's value when only \code{key} parameter is provided. + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{key}}{The R option's name.} - -\item{\code{value}}{The R option's value. Remove the option when \code{NULL}.} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -The R option's value when only \code{key} parameter is provided. -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-newSession}{}}} -\subsection{Method \code{newSession()}}{ -Create a new DataSHIELD session (contained execution environment), apply options that are defined +\subsection{\code{DSLiteServer$newSession()}}{ + Create a new DataSHIELD session (contained execution environment), apply options that are defined in the DataSHIELD configuration and restore workspace image if \code{restore} workspace name argument is provided. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$newSession(restore = NULL, profile = NULL)}\if{html}{\out{
}} + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$newSession(restore = NULL, profile = NULL)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{restore}}{The workspace image to be restored (optional).} + \item{\code{profile}}{The requested profile name (optional). If provided, new session creation will fail in case it does not match the server's profile name.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{restore}}{The workspace image to be restored (optional).} - -\item{\code{profile}}{The requested profile name (optional). If provided, new session creation will fail in case it does not match the server's profile name.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-hasSession}{}}} -\subsection{Method \code{hasSession()}}{ -Check a DataSHIELD session is alive. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$hasSession(sid)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$hasSession()}}{ + Check a DataSHIELD session is alive. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$hasSession(sid)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-getSession}{}}} -\subsection{Method \code{getSession()}}{ -Get the DataSHIELD session's environment. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$getSession(sid)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$getSession()}}{ + Get the DataSHIELD session's environment. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$getSession(sid)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-getSessionIds}{}}} -\subsection{Method \code{getSessionIds()}}{ -Get the DataSHIELD session IDs. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$getSessionIds()}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$getSessionIds()}}{ + Get the DataSHIELD session IDs. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$getSessionIds()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-getSessionData}{}}} -\subsection{Method \code{getSessionData()}}{ -Get the symbol value from the DataSHIELD session's environment. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$getSessionData(sid, symbol)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$getSessionData()}}{ + Get the symbol value from the DataSHIELD session's environment. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$getSessionData(sid, symbol)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + \item{\code{symbol}}{The symbol name.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} - -\item{\code{symbol}}{The symbol name.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-closeSession}{}}} -\subsection{Method \code{closeSession()}}{ -Destroy DataSHIELD session and save workspace image if \code{save} workspace name argument is provided. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$closeSession(sid, save = NULL)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$closeSession()}}{ + Destroy DataSHIELD session and save workspace image if \code{save} workspace name argument is provided. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$closeSession(sid, save = NULL)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + \item{\code{save}}{The name of the workspace image to be saved (optional).} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} - -\item{\code{save}}{The name of the workspace image to be saved (optional).} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-tableNames}{}}} -\subsection{Method \code{tableNames()}}{ -List the names of the tables that can be assigned. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$tableNames()}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$tableNames()}}{ + List the names of the tables that can be assigned. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$tableNames()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-hasTable}{}}} -\subsection{Method \code{hasTable()}}{ -Check a table exists. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$hasTable(name)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$hasTable()}}{ + Check a table exists. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$hasTable(name)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{name}}{The table name to be looked for.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{name}}{The table name to be looked for.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-resourceNames}{}}} -\subsection{Method \code{resourceNames()}}{ -List the names of the resources (\code{resourcer::Resource} objects) that can be assigned. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$resourceNames()}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$resourceNames()}}{ + List the names of the resources (\code{resourcer::Resource} objects) that can be assigned. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$resourceNames()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-hasResource}{}}} -\subsection{Method \code{hasResource()}}{ -Check a resource (\code{resourcer::Resource} object) exists. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$hasResource(name)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$hasResource()}}{ + Check a resource (\code{resourcer::Resource} object) exists. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$hasResource(name)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{name}}{The resource name to be looked for.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{name}}{The resource name to be looked for.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-symbols}{}}} -\subsection{Method \code{symbols()}}{ -List the symbols living in a DataSHIELD session. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$symbols(sid)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$symbols()}}{ + List the symbols living in a DataSHIELD session. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$symbols(sid)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-symbol_rm}{}}} -\subsection{Method \code{symbol_rm()}}{ -Remove a symbol from a DataSHIELD session. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$symbol_rm(sid, name)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$symbol_rm()}}{ + Remove a symbol from a DataSHIELD session. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$symbol_rm(sid, name)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + \item{\code{name}}{The symbol name.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} - -\item{\code{name}}{The symbol name.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-assignTable}{}}} -\subsection{Method \code{assignTable()}}{ -Assign a table to a symbol in a DataSHIELD session. Filter +\subsection{\code{DSLiteServer$assignTable()}}{ + Assign a table to a symbol in a DataSHIELD session. Filter table columns with the variables names provided. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$assignTable(sid, symbol, name, variables = NULL, id.name = NULL)}\if{html}{\out{
}} + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$assignTable(sid, symbol, name, variables = NULL, id.name = NULL)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + \item{\code{symbol}}{The symbol to be assigned.} + \item{\code{name}}{The table's name.} + \item{\code{variables}}{The variable names to be filtered in (optional).} + \item{\code{id.name}}{The column name to be used for the entity's identifier (optional).} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} - -\item{\code{symbol}}{The symbol to be assigned.} - -\item{\code{name}}{The table's name.} - -\item{\code{variables}}{The variable names to be filtered in (optional).} - -\item{\code{id.name}}{The column name to be used for the entity's identifier (optional).} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-assignResource}{}}} -\subsection{Method \code{assignResource()}}{ -Assign a resource as a \code{resourcer::ResourceClient} object to a symbol in a DataSHIELD session. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$assignResource(sid, symbol, name)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$assignResource()}}{ + Assign a resource as a \code{resourcer::ResourceClient} object to a symbol in a DataSHIELD session. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$assignResource(sid, symbol, name)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + \item{\code{symbol}}{The symbol name.} + \item{\code{name}}{The name of the resource.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} - -\item{\code{symbol}}{The symbol name.} - -\item{\code{name}}{The name of the resource.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-assignExpr}{}}} -\subsection{Method \code{assignExpr()}}{ -Evaluate an assignment expression in a DataSHIELD session. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$assignExpr(sid, symbol, expr)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$assignExpr()}}{ + Evaluate an assignment expression in a DataSHIELD session. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$assignExpr(sid, symbol, expr)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + \item{\code{symbol}}{The symbol name.} + \item{\code{expr}}{The R expression to evaluate.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} - -\item{\code{symbol}}{The symbol name.} - -\item{\code{expr}}{The R expression to evaluate.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-aggregate}{}}} -\subsection{Method \code{aggregate()}}{ -Evaluate an aggregate expression in a DataSHIELD session. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$aggregate(sid, expr)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$aggregate()}}{ + Evaluate an aggregate expression in a DataSHIELD session. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$aggregate(sid, expr)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{sid}}{The session ID.} + \item{\code{expr}}{The R expression to evaluate.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{sid}}{The session ID.} - -\item{\code{expr}}{The R expression to evaluate.} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-DSLiteServer-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{DSLiteServer$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{DSLiteServer$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{DSLiteServer$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/FormulaNode.Rd b/man/FormulaNode.Rd index d6efe71..11eb7e2 100644 --- a/man/FormulaNode.Rd +++ b/man/FormulaNode.Rd @@ -8,7 +8,7 @@ AST node that reprsents a formula (such as NAME ~ \emph{terms}). } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FunctionNode}}, \code{\link{GroupNode}}, @@ -22,68 +22,72 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{FormulaNode} +\code{\link[DSLite:Node]{Node}} -> \code{FormulaNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-FormulaNode-add_child}{\code{FormulaNode$add_child()}} -\item \href{#method-FormulaNode-to_string}{\code{FormulaNode$to_string()}} -\item \href{#method-FormulaNode-clone}{\code{FormulaNode$clone()}} + \itemize{ + \item \href{#method-FormulaNode-add_child}{\code{FormulaNode$add_child()}} + \item \href{#method-FormulaNode-to_string}{\code{FormulaNode$to_string()}} + \item \href{#method-FormulaNode-clone}{\code{FormulaNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FormulaNode-add_child}{}}} -\subsection{Method \code{add_child()}}{ -Two children -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FormulaNode$add_child(val)}\if{html}{\out{
}} +\subsection{\code{FormulaNode$add_child()}}{ + Two children + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{FormulaNode$add_child(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Child Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Child Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FormulaNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the BinaryOpNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FormulaNode$to_string()}\if{html}{\out{
}} +\subsection{\code{FormulaNode$to_string()}}{ + Get the string representation of the BinaryOpNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{FormulaNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FormulaNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FormulaNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{FormulaNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{FormulaNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/FunctionNode.Rd b/man/FunctionNode.Rd index e1dbaf6..db90f0b 100644 --- a/man/FunctionNode.Rd +++ b/man/FunctionNode.Rd @@ -8,7 +8,7 @@ AST node that represents a function with its arguments. } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FormulaNode}}, \code{\link{GroupNode}}, @@ -22,51 +22,53 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{FunctionNode} +\code{\link[DSLite:Node]{Node}} -> \code{FunctionNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-FunctionNode-to_string}{\code{FunctionNode$to_string()}} -\item \href{#method-FunctionNode-clone}{\code{FunctionNode$clone()}} + \itemize{ + \item \href{#method-FunctionNode-to_string}{\code{FunctionNode$to_string()}} + \item \href{#method-FunctionNode-clone}{\code{FunctionNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FunctionNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the FunctionNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FunctionNode$to_string()}\if{html}{\out{
}} +\subsection{\code{FunctionNode$to_string()}}{ + Get the string representation of the FunctionNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{FunctionNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FunctionNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FunctionNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{FunctionNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{FunctionNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/GroupNode.Rd b/man/GroupNode.Rd index a814267..a4db85a 100644 --- a/man/GroupNode.Rd +++ b/man/GroupNode.Rd @@ -8,7 +8,7 @@ AST node that reprsents a group of tokens enclosed by parenthesis. } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FormulaNode}}, \code{\link{FunctionNode}}, @@ -22,51 +22,53 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{GroupNode} +\code{\link[DSLite:Node]{Node}} -> \code{GroupNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-GroupNode-to_string}{\code{GroupNode$to_string()}} -\item \href{#method-GroupNode-clone}{\code{GroupNode$clone()}} + \itemize{ + \item \href{#method-GroupNode-to_string}{\code{GroupNode$to_string()}} + \item \href{#method-GroupNode-clone}{\code{GroupNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-GroupNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the GroupNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GroupNode$to_string()}\if{html}{\out{
}} +\subsection{\code{GroupNode$to_string()}}{ + Get the string representation of the GroupNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{GroupNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-GroupNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GroupNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{GroupNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{GroupNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/Node.Rd b/man/Node.Rd index 0a934b2..dca87f1 100644 --- a/man/Node.Rd +++ b/man/Node.Rd @@ -8,7 +8,7 @@ Abstract Syntaxic Tree (AST) node that will be created by the DSLite R parser. } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FormulaNode}}, \code{\link{FunctionNode}}, @@ -22,136 +22,149 @@ Other parser items: } \concept{parser items} \section{Public fields}{ -\if{html}{\out{
}} -\describe{ -\item{\code{name}}{Token value} + \if{html}{\out{
}} + \describe{ + \item{\code{name}}{Token value} -\item{\code{parent}}{Parent Node} + \item{\code{parent}}{Parent Node} -\item{\code{children}}{Children Nodes} -} -\if{html}{\out{
}} + \item{\code{children}}{Children Nodes} + } + \if{html}{\out{
}} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-Node-new}{\code{Node$new()}} -\item \href{#method-Node-set_parent}{\code{Node$set_parent()}} -\item \href{#method-Node-add_child}{\code{Node$add_child()}} -\item \href{#method-Node-to_string}{\code{Node$to_string()}} -\item \href{#method-Node-to_string_children}{\code{Node$to_string_children()}} -\item \href{#method-Node-accept}{\code{Node$accept()}} -\item \href{#method-Node-clone}{\code{Node$clone()}} -} + \itemize{ + \item \href{#method-Node-initialize}{\code{Node$new()}} + \item \href{#method-Node-set_parent}{\code{Node$set_parent()}} + \item \href{#method-Node-add_child}{\code{Node$add_child()}} + \item \href{#method-Node-to_string}{\code{Node$to_string()}} + \item \href{#method-Node-to_string_children}{\code{Node$to_string_children()}} + \item \href{#method-Node-accept}{\code{Node$accept()}} + \item \href{#method-Node-clone}{\code{Node$clone()}} + } } \if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-Node-new}{}}} -\subsection{Method \code{new()}}{ -Simple node constructor -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{Node$new(name = NA, parent = NA)}\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Node-initialize}{}}} +\subsection{\code{Node$new()}}{ + Simple node constructor + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{Node$new(name = NA, parent = NA)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{name}}{Token value} + \item{\code{parent}}{Parent Node} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + A Node object + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{name}}{Token value} - -\item{\code{parent}}{Parent Node} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -A Node object -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-Node-set_parent}{}}} -\subsection{Method \code{set_parent()}}{ -Set parent Node -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{Node$set_parent(val)}\if{html}{\out{
}} +\subsection{\code{Node$set_parent()}}{ + Set parent Node + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{Node$set_parent(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Parent Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Parent Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-Node-add_child}{}}} -\subsection{Method \code{add_child()}}{ -Add a child Node -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{Node$add_child(val)}\if{html}{\out{
}} +\subsection{\code{Node$add_child()}}{ + Add a child Node + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{Node$add_child(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Child Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Child Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-Node-to_string}{}}} -\subsection{Method \code{to_string()}}{ -The string representation of the Node -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{Node$to_string()}\if{html}{\out{
}} +\subsection{\code{Node$to_string()}}{ + The string representation of the Node + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{Node$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-Node-to_string_children}{}}} -\subsection{Method \code{to_string_children()}}{ -Get the string representation of the Node's children -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{Node$to_string_children()}\if{html}{\out{
}} +\subsection{\code{Node$to_string_children()}}{ + Get the string representation of the Node's children + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{Node$to_string_children()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-Node-accept}{}}} -\subsection{Method \code{accept()}}{ -Accept visitor -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{Node$accept(visitor)}\if{html}{\out{
}} +\subsection{\code{Node$accept()}}{ + Accept visitor + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{Node$accept(visitor)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{visitor}}{Node visitor object} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{visitor}}{Node visitor object} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-Node-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{Node$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{Node$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{Node$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/NumericNode.Rd b/man/NumericNode.Rd index b65852a..fdd8d87 100644 --- a/man/NumericNode.Rd +++ b/man/NumericNode.Rd @@ -8,7 +8,7 @@ AST node that reprsents a numeric (integer or float) value. } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FormulaNode}}, \code{\link{FunctionNode}}, @@ -22,68 +22,72 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{NumericNode} +\code{\link[DSLite:Node]{Node}} -> \code{NumericNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-NumericNode-add_child}{\code{NumericNode$add_child()}} -\item \href{#method-NumericNode-to_string}{\code{NumericNode$to_string()}} -\item \href{#method-NumericNode-clone}{\code{NumericNode$clone()}} + \itemize{ + \item \href{#method-NumericNode-add_child}{\code{NumericNode$add_child()}} + \item \href{#method-NumericNode-to_string}{\code{NumericNode$to_string()}} + \item \href{#method-NumericNode-clone}{\code{NumericNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-NumericNode-add_child}{}}} -\subsection{Method \code{add_child()}}{ -No children -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{NumericNode$add_child(val)}\if{html}{\out{
}} +\subsection{\code{NumericNode$add_child()}}{ + No children + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{NumericNode$add_child(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Child Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Child Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-NumericNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the NumericNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{NumericNode$to_string()}\if{html}{\out{
}} +\subsection{\code{NumericNode$to_string()}}{ + Get the string representation of the NumericNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{NumericNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-NumericNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{NumericNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{NumericNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{NumericNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/ParameterNode.Rd b/man/ParameterNode.Rd index ea174eb..9a2aba1 100644 --- a/man/ParameterNode.Rd +++ b/man/ParameterNode.Rd @@ -8,7 +8,7 @@ AST node that represents a function's named parameter (such as NAME = \emph{expression}). } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FormulaNode}}, \code{\link{FunctionNode}}, @@ -22,68 +22,72 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{ParameterNode} +\code{\link[DSLite:Node]{Node}} -> \code{ParameterNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-ParameterNode-add_child}{\code{ParameterNode$add_child()}} -\item \href{#method-ParameterNode-to_string}{\code{ParameterNode$to_string()}} -\item \href{#method-ParameterNode-clone}{\code{ParameterNode$clone()}} + \itemize{ + \item \href{#method-ParameterNode-add_child}{\code{ParameterNode$add_child()}} + \item \href{#method-ParameterNode-to_string}{\code{ParameterNode$to_string()}} + \item \href{#method-ParameterNode-clone}{\code{ParameterNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-ParameterNode-add_child}{}}} -\subsection{Method \code{add_child()}}{ -Two children -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{ParameterNode$add_child(val)}\if{html}{\out{
}} +\subsection{\code{ParameterNode$add_child()}}{ + Two children + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{ParameterNode$add_child(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Child Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Child Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-ParameterNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the BinaryOpNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{ParameterNode$to_string()}\if{html}{\out{
}} +\subsection{\code{ParameterNode$to_string()}}{ + Get the string representation of the BinaryOpNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{ParameterNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-ParameterNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{ParameterNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{ParameterNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{ParameterNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/RangeNode.Rd b/man/RangeNode.Rd index d2775b1..73601a2 100644 --- a/man/RangeNode.Rd +++ b/man/RangeNode.Rd @@ -8,7 +8,7 @@ AST node that represents a range of values (such as \emph{min expression}:\emph{max expression}), therefore having two child nodes. } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FormulaNode}}, \code{\link{FunctionNode}}, @@ -22,68 +22,72 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{RangeNode} +\code{\link[DSLite:Node]{Node}} -> \code{RangeNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-RangeNode-add_child}{\code{RangeNode$add_child()}} -\item \href{#method-RangeNode-to_string}{\code{RangeNode$to_string()}} -\item \href{#method-RangeNode-clone}{\code{RangeNode$clone()}} + \itemize{ + \item \href{#method-RangeNode-add_child}{\code{RangeNode$add_child()}} + \item \href{#method-RangeNode-to_string}{\code{RangeNode$to_string()}} + \item \href{#method-RangeNode-clone}{\code{RangeNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-RangeNode-add_child}{}}} -\subsection{Method \code{add_child()}}{ -Two children -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{RangeNode$add_child(val)}\if{html}{\out{
}} +\subsection{\code{RangeNode$add_child()}}{ + Two children + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{RangeNode$add_child(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Child Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Child Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-RangeNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the BinaryOpNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{RangeNode$to_string()}\if{html}{\out{
}} +\subsection{\code{RangeNode$to_string()}}{ + Get the string representation of the BinaryOpNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{RangeNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-RangeNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{RangeNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{RangeNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{RangeNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/StringNode.Rd b/man/StringNode.Rd index 9df0ab9..3afca68 100644 --- a/man/StringNode.Rd +++ b/man/StringNode.Rd @@ -8,7 +8,7 @@ AST node that represent a string value, either single or double quoted. } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FormulaNode}}, \code{\link{FunctionNode}}, @@ -22,68 +22,72 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{StringNode} +\code{\link[DSLite:Node]{Node}} -> \code{StringNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-StringNode-add_child}{\code{StringNode$add_child()}} -\item \href{#method-StringNode-to_string}{\code{StringNode$to_string()}} -\item \href{#method-StringNode-clone}{\code{StringNode$clone()}} + \itemize{ + \item \href{#method-StringNode-add_child}{\code{StringNode$add_child()}} + \item \href{#method-StringNode-to_string}{\code{StringNode$to_string()}} + \item \href{#method-StringNode-clone}{\code{StringNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-StringNode-add_child}{}}} -\subsection{Method \code{add_child()}}{ -No children -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{StringNode$add_child(val)}\if{html}{\out{
}} +\subsection{\code{StringNode$add_child()}}{ + No children + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{StringNode$add_child(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Child Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Child Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-StringNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the StringNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{StringNode$to_string()}\if{html}{\out{
}} +\subsection{\code{StringNode$to_string()}}{ + Get the string representation of the StringNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{StringNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-StringNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{StringNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{StringNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{StringNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/SymbolNode.Rd b/man/SymbolNode.Rd index 672175d..2c10364 100644 --- a/man/SymbolNode.Rd +++ b/man/SymbolNode.Rd @@ -8,7 +8,7 @@ AST node that represents a R symbol (variable name, function name etc.). } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FormulaNode}}, \code{\link{FunctionNode}}, @@ -22,68 +22,72 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{SymbolNode} +\code{\link[DSLite:Node]{Node}} -> \code{SymbolNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-SymbolNode-add_child}{\code{SymbolNode$add_child()}} -\item \href{#method-SymbolNode-to_string}{\code{SymbolNode$to_string()}} -\item \href{#method-SymbolNode-clone}{\code{SymbolNode$clone()}} + \itemize{ + \item \href{#method-SymbolNode-add_child}{\code{SymbolNode$add_child()}} + \item \href{#method-SymbolNode-to_string}{\code{SymbolNode$to_string()}} + \item \href{#method-SymbolNode-clone}{\code{SymbolNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-SymbolNode-add_child}{}}} -\subsection{Method \code{add_child()}}{ -No children -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{SymbolNode$add_child(val)}\if{html}{\out{
}} +\subsection{\code{SymbolNode$add_child()}}{ + No children + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{SymbolNode$add_child(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Child Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Child Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-SymbolNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the SymbolNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{SymbolNode$to_string()}\if{html}{\out{
}} +\subsection{\code{SymbolNode$to_string()}}{ + Get the string representation of the SymbolNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{SymbolNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-SymbolNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{SymbolNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{SymbolNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{SymbolNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/UnaryOpNode.Rd b/man/UnaryOpNode.Rd index 6de7ab1..fbba77b 100644 --- a/man/UnaryOpNode.Rd +++ b/man/UnaryOpNode.Rd @@ -8,7 +8,7 @@ AST node that represents a unary operator (such as '-'), therefore having a single child node. } \seealso{ -Other parser items: +Other parser items: \code{\link{BinaryOpNode}}, \code{\link{FormulaNode}}, \code{\link{FunctionNode}}, @@ -22,68 +22,72 @@ Other parser items: } \concept{parser items} \section{Super class}{ -\code{\link[DSLite:Node]{DSLite::Node}} -> \code{UnaryOpNode} +\code{\link[DSLite:Node]{Node}} -> \code{UnaryOpNode} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-UnaryOpNode-add_child}{\code{UnaryOpNode$add_child()}} -\item \href{#method-UnaryOpNode-to_string}{\code{UnaryOpNode$to_string()}} -\item \href{#method-UnaryOpNode-clone}{\code{UnaryOpNode$clone()}} + \itemize{ + \item \href{#method-UnaryOpNode-add_child}{\code{UnaryOpNode$add_child()}} + \item \href{#method-UnaryOpNode-to_string}{\code{UnaryOpNode$to_string()}} + \item \href{#method-UnaryOpNode-clone}{\code{UnaryOpNode$clone()}} + } } -} -\if{html}{\out{ -
Inherited methods +\if{html}{\out{
Inherited methods -
-}} +
}} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-UnaryOpNode-add_child}{}}} -\subsection{Method \code{add_child()}}{ -One children -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{UnaryOpNode$add_child(val)}\if{html}{\out{
}} +\subsection{\code{UnaryOpNode$add_child()}}{ + One children + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{UnaryOpNode$add_child(val)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{val}}{Child Node} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{val}}{Child Node} -} -\if{html}{\out{
}} -} -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-UnaryOpNode-to_string}{}}} -\subsection{Method \code{to_string()}}{ -Get the string representation of the UnaryOpNode -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{UnaryOpNode$to_string()}\if{html}{\out{
}} +\subsection{\code{UnaryOpNode$to_string()}}{ + Get the string representation of the UnaryOpNode + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{UnaryOpNode$to_string()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-UnaryOpNode-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{UnaryOpNode$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{UnaryOpNode$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{UnaryOpNode$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/newDSLiteServer.Rd b/man/newDSLiteServer.Rd index b9e8ccb..a383504 100644 --- a/man/newDSLiteServer.Rd +++ b/man/newDSLiteServer.Rd @@ -30,7 +30,7 @@ Default is in a hidden folder of the R session's temporary directory.} Shortcut function to create a new \code{DSLiteServer} instance. } \seealso{ -Other server-side items: +Other server-side items: \code{\link{DSLiteServer}} } \concept{server-side items} diff --git a/man/setupCNSIMTest.Rd b/man/setupCNSIMTest.Rd index bfd6825..69668fb 100644 --- a/man/setupCNSIMTest.Rd +++ b/man/setupCNSIMTest.Rd @@ -29,11 +29,11 @@ datashield.logout(conns) } } \seealso{ -Other setup functions: -\code{\link{setupDASIMTest}()}, -\code{\link{setupDATASETTest}()}, -\code{\link{setupDISCORDANTTest}()}, -\code{\link{setupDSLiteServer}()}, -\code{\link{setupSURVIVALTest}()} +Other setup functions: +\code{\link[=setupDASIMTest]{setupDASIMTest()}}, +\code{\link[=setupDATASETTest]{setupDATASETTest()}}, +\code{\link[=setupDISCORDANTTest]{setupDISCORDANTTest()}}, +\code{\link[=setupDSLiteServer]{setupDSLiteServer()}}, +\code{\link[=setupSURVIVALTest]{setupSURVIVALTest()}} } \concept{setup functions} diff --git a/man/setupDASIMTest.Rd b/man/setupDASIMTest.Rd index 09491bb..dcbfa1a 100644 --- a/man/setupDASIMTest.Rd +++ b/man/setupDASIMTest.Rd @@ -29,11 +29,11 @@ datashield.logout(conns) } } \seealso{ -Other setup functions: -\code{\link{setupCNSIMTest}()}, -\code{\link{setupDATASETTest}()}, -\code{\link{setupDISCORDANTTest}()}, -\code{\link{setupDSLiteServer}()}, -\code{\link{setupSURVIVALTest}()} +Other setup functions: +\code{\link[=setupCNSIMTest]{setupCNSIMTest()}}, +\code{\link[=setupDATASETTest]{setupDATASETTest()}}, +\code{\link[=setupDISCORDANTTest]{setupDISCORDANTTest()}}, +\code{\link[=setupDSLiteServer]{setupDSLiteServer()}}, +\code{\link[=setupSURVIVALTest]{setupSURVIVALTest()}} } \concept{setup functions} diff --git a/man/setupDATASETTest.Rd b/man/setupDATASETTest.Rd index b2e05b7..bbf2d9d 100644 --- a/man/setupDATASETTest.Rd +++ b/man/setupDATASETTest.Rd @@ -29,11 +29,11 @@ datashield.logout(conns) } } \seealso{ -Other setup functions: -\code{\link{setupCNSIMTest}()}, -\code{\link{setupDASIMTest}()}, -\code{\link{setupDISCORDANTTest}()}, -\code{\link{setupDSLiteServer}()}, -\code{\link{setupSURVIVALTest}()} +Other setup functions: +\code{\link[=setupCNSIMTest]{setupCNSIMTest()}}, +\code{\link[=setupDASIMTest]{setupDASIMTest()}}, +\code{\link[=setupDISCORDANTTest]{setupDISCORDANTTest()}}, +\code{\link[=setupDSLiteServer]{setupDSLiteServer()}}, +\code{\link[=setupSURVIVALTest]{setupSURVIVALTest()}} } \concept{setup functions} diff --git a/man/setupDISCORDANTTest.Rd b/man/setupDISCORDANTTest.Rd index d3ad054..1644f23 100644 --- a/man/setupDISCORDANTTest.Rd +++ b/man/setupDISCORDANTTest.Rd @@ -29,11 +29,11 @@ datashield.logout(conns) } } \seealso{ -Other setup functions: -\code{\link{setupCNSIMTest}()}, -\code{\link{setupDASIMTest}()}, -\code{\link{setupDATASETTest}()}, -\code{\link{setupDSLiteServer}()}, -\code{\link{setupSURVIVALTest}()} +Other setup functions: +\code{\link[=setupCNSIMTest]{setupCNSIMTest()}}, +\code{\link[=setupDASIMTest]{setupDASIMTest()}}, +\code{\link[=setupDATASETTest]{setupDATASETTest()}}, +\code{\link[=setupDSLiteServer]{setupDSLiteServer()}}, +\code{\link[=setupSURVIVALTest]{setupSURVIVALTest()}} } \concept{setup functions} diff --git a/man/setupDSLiteServer.Rd b/man/setupDSLiteServer.Rd index 0f036de..bb40265 100644 --- a/man/setupDSLiteServer.Rd +++ b/man/setupDSLiteServer.Rd @@ -51,11 +51,11 @@ datashield.logout(conns) } \seealso{ -Other setup functions: -\code{\link{setupCNSIMTest}()}, -\code{\link{setupDASIMTest}()}, -\code{\link{setupDATASETTest}()}, -\code{\link{setupDISCORDANTTest}()}, -\code{\link{setupSURVIVALTest}()} +Other setup functions: +\code{\link[=setupCNSIMTest]{setupCNSIMTest()}}, +\code{\link[=setupDASIMTest]{setupDASIMTest()}}, +\code{\link[=setupDATASETTest]{setupDATASETTest()}}, +\code{\link[=setupDISCORDANTTest]{setupDISCORDANTTest()}}, +\code{\link[=setupSURVIVALTest]{setupSURVIVALTest()}} } \concept{setup functions} diff --git a/man/setupSURVIVALTest.Rd b/man/setupSURVIVALTest.Rd index 30d0c5d..8ed1437 100644 --- a/man/setupSURVIVALTest.Rd +++ b/man/setupSURVIVALTest.Rd @@ -29,11 +29,11 @@ datashield.logout(conns) } } \seealso{ -Other setup functions: -\code{\link{setupCNSIMTest}()}, -\code{\link{setupDASIMTest}()}, -\code{\link{setupDATASETTest}()}, -\code{\link{setupDISCORDANTTest}()}, -\code{\link{setupDSLiteServer}()} +Other setup functions: +\code{\link[=setupCNSIMTest]{setupCNSIMTest()}}, +\code{\link[=setupDASIMTest]{setupDASIMTest()}}, +\code{\link[=setupDATASETTest]{setupDATASETTest()}}, +\code{\link[=setupDISCORDANTTest]{setupDISCORDANTTest()}}, +\code{\link[=setupDSLiteServer]{setupDSLiteServer()}} } \concept{setup functions}