1 /*BEGIN_COPYRIGHT_BLOCK 2 * 3 * This file is part of DrJava. Download the current version of this project: 4 * http://sourceforge.net/projects/drjava/ or http://www.drjava.org/ 5 * 6 * DrJava Open Source License 7 * 8 * Copyright (C) 2001-2003 JavaPLT group at Rice University (javaplt@rice.edu) 9 * All rights reserved. 10 * 11 * Developed by: Java Programming Languages Team 12 * Rice University 13 * http://www.cs.rice.edu/~javaplt/ 14 * 15 * Permission is hereby granted, free of charge, to any person obtaining a 16 * copy of this software and associated documentation files (the "Software"), 17 * to deal with the Software without restriction, including without 18 * limitation the rights to use, copy, modify, merge, publish, distribute, 19 * sublicense, and/or sell copies of the Software, and to permit persons to 20 * whom the Software is furnished to do so, subject to the following 21 * conditions: 22 * 23 * - Redistributions of source code must retain the above copyright 24 * notice, this list of conditions and the following disclaimers. 25 * - Redistributions in binary form must reproduce the above copyright 26 * notice, this list of conditions and the following disclaimers in the 27 * documentation and/or other materials provided with the distribution. 28 * - Neither the names of DrJava, the JavaPLT, Rice University, nor the 29 * names of its contributors may be used to endorse or promote products 30 * derived from this Software without specific prior written permission. 31 * - Products derived from this software may not be called "DrJava" nor 32 * use the term "DrJava" as part of their names without prior written 33 * permission from the JavaPLT group. For permission, write to 34 * javaplt@rice.edu. 35 * 36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 37 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 38 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 39 * THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 40 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 41 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42 * OTHER DEALINGS WITH THE SOFTWARE. 43 * 44 END_COPYRIGHT_BLOCK*/ 45 46 package edu.rice.cs.util.sexp; 47 48 //package edu.rice.cs.drjava.project; 49 50 /** 51 * SExp ::= Atom | SEList 52 * 53 * SEList ::= Empty | Cons(SExp, SEList) 54 * 55 * Atom ::= text | number | boolean 56 * 57 * text ::= string | symbol 58 * 59 * string ::= "non-quote-char*" 60 * symbol ::= non-special-char* 61 * 62 * non-quote-char ::= alphanumeric | escapes | white-sp-char | other 63 * 64 * escapes ::= \" | \\ 65 * 66 * white-sp-char ::= ascii chars from 0-32 67 * 68 * boolean ::= true | false 69 * 70 * number ::= digit* {. digit*} 71 */ 72 public interface SExp { 73 74 public <Ret> Ret accept(SExpVisitor<Ret> v); 75 76 }