# Style sheet for the S language -- GNU R (www.r-project.org) is an 
# implementation of S, a language for statistical computing and graphics. 
#
# A suitable sheets.map entry would be
# GNU R files, as well as S language files
# s:	/*.[RSrsq]/ /*.Rin/
#
# Copyright (c) 2000 - 2002 Torsten Hothorn, Kurt Hornik, Dirk Eddelbuettel

#
# This file is part of a2ps.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING.  If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#

style "S language" is
written by "Torsten Hothorn <Torsten.Hothorn@rzmail.uni-erlangen.de>, Kurt Hornik <hornik@ci.tuwien.ac.at>, Dirk Eddelbuettel <edd@debian.org>"
version is 0.2
requires a2ps 4.9.5

documentation is
   "Should handle code for interpreters of S, a language for statistical"
   "computating and graphics, such as R."
   ""
   "R consists of a language plus a run-time environment with graphics, a"
   "debugger, access to certain system functions, and the ability to run"
   "programs stored in script files."
   ""
   "R has a home page at `https://www.r-project.org/'.  It is free software"
   "distributed under a GNU-style copyleft, and an official part of the GNU"
   "project (`GNU S')."
end documentation

first alphabet is
   "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ."
second alphabet is
   "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.0123456789"

case sensitive

sequences are
  "#" Comment,
  C-string
end sequences

keywords in Keyword_strong are
   if, else, break, while, for, function, next, return, 
   FALSE, TRUE, "in", repeat, switch, NA, NULL, NaN, Inf, stop, warning
end keywords

operators are
   <- \leftarrow,
   -> \rightarrow,
   <<- \Leftarrow,
   != \neq,
   == \equiv,
   # We need to protect these, so that <= is not replaced in <<=
   <<=,
   >>=,
   <= \leq,
   >= \geq
end operators

optional sequences are
   < Plain Keyword > Plain
end sequences

end style
