org.graphstream.util.parser.template.jj Maven / Gradle / Ivy
options { JDK_VERSION = "1.5"; STATIC = false; IGNORE_CASE = true; }
PARSER_BEGIN(%parser_name%)
/*
* Copyright 2006 - 2011
* Stefan Balev
* Julien Baudry
* Antoine Dutot
* Yoann Pigné
* Guilhelm Savin
*
* This file is part of GraphStream .
*
* GraphStream is a library whose purpose is to handle static or dynamic
* graph, create them from scratch, file or any source and display them.
*
* This program is free software distributed under the terms of two licenses, the
* CeCILL-C license that fits European law, and the GNU Lesser General Public
* License. You can use, modify and/ or redistribute the software under the terms
* of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
* URL or under the terms of the GNU LGPL as published by
* the Free Software Foundation, either version 3 of the License, 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*
* The fact that you are presently reading this means that you have had
* knowledge of the CeCILL-C and LGPL licenses and that you accept their terms.
*/
package %package_name%;
import java.io.InputStream;
import java.io.IOException;
import java.io.Reader;
import org.graphstream.util.parser.ParseException;
import org.graphstream.util.parser.Parser;
import org.graphstream.util.parser.SimpleCharStream;
import org.graphstream.util.parser.Token;
import org.graphstream.util.parser.TokenMgrError;
@SuppressWarnings("unused")
public class %parser_name% implements Parser {
/**
* Closes the parser, closing the opened stream.
*/
public void close() throws IOException {
jj_input_stream.close();
}
}
PARSER_END(%parser_name%)
/************************************************************************
* The lexer.
*/
SKIP :
{ " "
| "\r"
| "\t"
| "\n"
| <"/*" (~["*"]|"*" ~["/"])* "*/">
| <("//" | "#") (~["\n","\r"])* >
}
//
// Private tokens.
//
TOKEN: {
< #EOL : (("\r")|("\n"))>
| < #DIGIT : ["0"-"9"] >
| < #HEXDIGIT : (["0"-"9","a"-"f","A"-"F"])>
}
//
// Symbols
//
TOKEN: {
< LSQBR : "[" >
| < RSQBR : "]" >
| < LBRACE : "{" >
| < RBRACE : "}" >
| < COLON : ":" >
| < COMMA : "," >
| < EQUALS : "=" >
}
//
// Format keywords
//
TOKEN: {
}
//
// Complex tokens
//
TOKEN: {
< REAL : ( "-" | "+" )? ( )+ ( "." ()+ )?>
| < STRING : (("\"" (~["\""]|"\\\"")* "\"")|("'" (~["'"])* "'")) >
| < WORD : [ "a"-"z", "A"-"Z", "\200"-"\377", "_" ] ( [ "a"-"z", "A"-"Z", "\200"-"\377", "_", "0"-"9" ] )* >
}
/*****************************************************************
* The parser.
*/
public void all():
{}
{
}
public void open():
{}
{
}
public boolean next():
{
boolean hasMore = false;
}
{
{return hasMore;}
}
private String id():
{
Token t;
String s;
t = null;
}
{
(
s = string() { return s; }
| t =
| t =
)
{ return t.image; }
}
private String string():
{
Token t;
}
{
t =
{ return t.image.substring(1, t.image.length()-1); }
}