/*
* Copyright 2010 Spolecne s.r.o. (www.spoledge.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.spoledge.audao.parser.gql;
import org.antlr.runtime.*;
import com.spoledge.audao.parser.gql.impl.GqlStaticLexer;
import com.spoledge.audao.parser.gql.impl.GqlStaticParser;
public class GqlStatic {
public GqlStatic() {
}
public String parse(String indent, String gql, String argnames, String argtypes)
throws RecognitionException {
System.out.println("PARSING: '" + gql + "' with params: (" + argnames + "), types: (" + argtypes + ")" );
String[] args = null;
String[] targs = null;
if (argnames != null) {
if (argnames.startsWith(", ")) argnames = argnames.substring( 2 );
args = argnames.split(", *");
}
if (argtypes != null) {
if (argtypes.startsWith(", ")) argtypes = argtypes.substring( 2 );
targs = argtypes.split(", *");
}
GqlStaticLexer lexer = new GqlStaticLexer( new ANTLRStringStream( gql ));
GqlStaticParser parser = new GqlStaticParser( new CommonTokenStream( lexer ));
return parser.gqlcond( indent, "_query", args, targs );
}
}