parse                  package:base                  R Documentation

Parse Expressions

Description:

     'parse' returns the parsed but unevaluated expressions in a list.

Usage:

     parse(file = "", n = NULL, text = NULL, prompt = "?", srcfile,
           encoding = "unknown")

Arguments:

    file: a connection, or a character string giving the name of a file
          or a URL to read the expressions from. If 'file' is '""' and
          'text' is missing or 'NULL' then input is taken from the
          console.

       n: integer (or coerced to integer).  The maximum number of
          expressions to parse.  If 'n' is 'NULL' or negative or 'NA'
          the input is parsed in its entirety.

    text: character vector.  The text to parse.  Elements are treated
          as if they were lines of a file.  Other R objects will be
          coerced to character (without method dispatch) if possible.

  prompt: the prompt to print when parsing from the keyboard. 'NULL'
          means to use R's prompt, 'getOption("prompt")'.

 srcfile: 'NULL', or a 'srcfile' object.  See the 'Details' section.

encoding: encoding to be assumed for input strings.  If the value is
          '"latin1"' or '"UTF-8"' it is used to mark character strings
          as known to be in Latin-1 or UTF-8: it is not used to
          re-encode the input.  To do the latter, specify the encoding
          as part of the connection 'con' or _via_
          'options(encoding=)': see the example under 'file'.

Details:

     If 'text' has length greater than zero (after coercion) it is used
     in preference to 'file'.

     All versions of R accept input from a connection with end of line
     marked by LF (as used on Unix), CRLF (as used on DOS/Windows) or
     CR (as used on classic MacOS).  The final line can be incomplete,
     that is missing the final EOL marker.

     See 'source' for the limits on the size of functions that can be
     parsed (by default).

     When input is taken from the console, 'n = NULL' is equivalent to
     'n = 1', and 'n < 0' will read until an EOF character is read.

     The default for 'srcfile' is set as follows.  If
     'options("keep.source")' is 'FALSE', 'srcfile' defaults to 'NULL'.
     Otherwise, if 'text' is used, 'srcfile' will be set to a
     'srcfilecopy' containing the text.  If a character string is used
     for 'file', a 'srcfile' object referring to that file will be
     used.

Value:

     An object of type '"expression"', with up to 'n' elements if
     specified as a non-negative integer.

     When 'srcfile' is non-'NULL', a '"srcref"' attribute will be
     attached to the result containing a list of 'srcref' records
     corresponding to each element, and a '"srcfile"' attribute will be
     attached containing a copy of 'srcfile'.

     A syntax error (including an incomplete expression) will throw an
     error.

     Character strings in the result will have a declared encoding if
     'encoding' is '"latin1"' or '"UTF-8"'.

References:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

See Also:

     'scan', 'source', 'eval', 'deparse'.

Examples:

     cat("x <- c(1,4)\n  x ^ 3 -10 ; outer(1:7,5:9)\n", file="xyz.Rdmped")
     # parse 3 statements from the file "xyz.Rdmped"
     parse(file = "xyz.Rdmped", n = 3)
     unlink("xyz.Rdmped")

