parse_text: Parse a character string as if it was a command entered at...

View source: R/parse_text.R

parse_textR Documentation

Parse a character string as if it was a command entered at the command line

Description

Parse R instructions provided as a string and return the expression if it is correct, or an object of class 'try-error' if it is an incorrect code, or NA if the (last) instruction is incomplete.

Usage

parse_text(text, firstline = 1, srcfilename = NULL, encoding = "unknown")

parseText(text, firstline = 1, srcfilename = NULL, encoding = "unknown")

Arguments

text

The character string vector to parse into an R expression.

firstline

The index of first line being parsed in the file. If this is larger than 1, empty lines are added in front of text in order to match the correct position in the file.

srcfilename

A character string with the name of the source file.

encoding

Encoding of 'text“, as in parse().

Value

Returns an expression with the parsed code or NA if the last instruction is correct but incomplete, or an object of class 'try-error' with the error message if the code is incorrect.

Note

On the contrary to parse(), parse_text() recovers from incorrect code and also detects incomplete code. It is also easier to use in case you pass a character string to it, because you don't have to name the argument explicitly (text = ...).

See Also

parse(), capture_all()

Examples

parse_text("1 + 1")
parse_text("1 + 1; log(10)")
parse_text(c("1 + 1", "log(10)"))

# Incomplete instruction
parse_text("log(")

# Incomplete strings
parse_text("text <- \"some string")
parse_text("text <- 'some string")

# Incomplete names (don't write backtick quoted names on several lines!)
# ...but just in case
parse_text("`myvar")

# Incorrect expression
parse_text("log)")

SciViews/svMisc documentation built on Sept. 15, 2023, 3:51 a.m.