# Style sheet for claire # Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana # Copyright (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana # $Id: claire.ssh,v 1.1.1.1.2.1 2007/12/29 01:58:28 mhatta Exp $ # # # 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. # ## 1.1 Akim Demaille # Fixed strong comments ## 1.2 Akim Demaille # Fixed the order for the comments style Claire is written by "Akim Demaille " version is 1.2 requires a2ps version 4.9.10 documentation is "Claire is a high-level functional and object-oriented language with " "advanced rule processing capabilities. It is intended to allow the " "programmer to express complex algorithms with fewer lines and in an " "elegant and readable manner. " "" "To provide a high degree of expressivity, Claire uses: " "@itemize" "@item" " A very rich type system including type intervals and second-order " " types (with dual static/dynamic typing)," "@item" " Parametric classes and methods, " "@item" " An object-oriented logic with set extensions, " "@item" " Dynamic versioning that supports easy exploration of search spaces. " "@end itemize" "To achieve its goal of readability, Claire uses " "@itemize" "@item" " set-based programming with an intuitive syntax, " "@item" " simple-minded object-oriented programming, " "@item" " truly polymorphic and parametric functional programming, " "@item" " a powerful-yet-readable extension of DATALOG to express logical conditions," "@item" " an entity-relation approach with explicit relations, inverses, " " unknown values and relational" "@item" " operations. " "@end itemize" "More information on claire can be found on " "url(http://www.ens.fr/~laburthe/claire.html)url(claire home page)url." end documentation first alphabet is "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!%&*+-/:^_<=>|" second alphabet is "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!%&\'*+-/:^_<=>|" case sensitive keywords in Keyword_strong are forall, none, catch, "in", as, printf, assert, return, break, trace, else, for, "case", while, until, let, when, try, if, Zif, exists, <:, =>, ->, :: end keywords optional keywords are forall \forall, exists \exists, % \in, :=, = \equiv, != \neq, <= \leq, >= \geq, -> \rightarrow, => \Rightarrow, U \cup, not \not end keywords optional operators are {} \emptyset end operators sequences are ;; Comment, "//" Comment, "//*" Comment_strong, C-string, C-char, # Some declarations ^[ Plain Label_strong closers are <: Plain, [ Plain, "(" Plain end closers end sequences end style