1 package fri.patterns.interpreter.parsergenerator.semantics; 2 3 import java.util.*; 4 import fri.patterns.interpreter.parsergenerator.Token; 5 import fri.patterns.interpreter.parsergenerator.Semantic; 6 import fri.patterns.interpreter.parsergenerator.syntax.Rule; 7 8 14 15 public class PrintSemantic implements Semantic 16 { 17 public Object doSemantic(Rule rule, List inputTokens, List ranges) { 18 StringBuffer sb = new StringBuffer (); 19 for (int i = 0; i < inputTokens.size(); i++) 20 sb.append((i > 0 ? " " : "")+inputTokens.get(i).toString()); 21 22 String range = ""; 23 if (ranges.size() > 0) { 24 Token.Range startRange = (Token.Range) ranges.get(0); 25 Token.Range endRange = (Token.Range) ranges.get(ranges.size() - 1); 26 range = startRange.start+"-"+endRange.end; 27 } 28 29 String s = sb.toString(); 30 System.err.println("Nonterminal="+rule.getNonterminal()+", range("+range+"), Input=\""+s+"\""); 31 return s; 32 } 33 34 } 35 | Popular Tags |