1 package org.simantics.graph.compiler.tests;
3 import org.antlr.runtime.ANTLRStringStream;
4 import org.antlr.runtime.CharStream;
5 import org.antlr.runtime.CommonTokenStream;
6 import org.antlr.runtime.Token;
7 import org.antlr.runtime.TokenStream;
8 import org.antlr.runtime.tree.Tree;
10 import org.simantics.databoard.util.Range;
11 import org.simantics.graph.compiler.internal.parsing.GraphLexer;
12 import org.simantics.graph.compiler.internal.parsing.GraphParser;
14 public class RangeParsingTest {
16 public static GraphParser parse(String text) {
17 CharStream stream = new ANTLRStringStream(text);
18 GraphLexer lexer = new GraphLexer(stream);
19 TokenStream tokenStream = new CommonTokenStream(lexer);
21 Token token = tokenStream.LT(i);
22 if(token.getType() == GraphParser.EOF)
25 GraphParser.tokenNames[token.getType()] + " " + token.getText());
27 return new GraphParser(tokenStream);
31 public void testRangeParsing() throws Exception {
32 Tree tree = (Tree)parse("[1..2.3]").parameterValue().getTree();
33 System.out.println(tree.toStringTree());
37 public void testRangeInDataboard() throws Exception {
38 Range.valueOfUnchecked("[0..1]");