List of usage examples for org.antlr.v4.runtime Token getText
String getText();
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void addExtendLabel(Token idToken) { String label;/* ww w.j ava2s .c o m*/ if (idToken == null) throw new NullPointerException("Id token must not be null."); label = idToken.getText(); if (label == null) throw new NullPointerException("Label must not be null."); if (curExtend.containsLabel(label)) { reportError(ERROR_UNIQUENESS, idToken.getLine(), "Duplicate reference to label '" + label + "' in extend statement."); return; } curExtend.addLabel(label); }
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void addLabel(Token idToken) { String label;// w w w.ja v a 2 s .c om if (idToken == null) throw new NullPointerException("Id token must not be null."); label = idToken.getText(); // check whether we have seen a declare statement yet if (declare == null) { reportError(ERROR_ORDER, idToken.getLine(), "Label definition for '" + label + "' must not appear prior to declare statement."); return; } // check whether this is the first time, this label is introduced if (labelMap.containsKey(label)) { reportError(ERROR_UNIQUENESS, idToken.getLine(), "Duplicate label definition. The label '" + label + "' has already been defined."); return; } labelMap.put(label, new HashSet<String>()); }
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void addLabelMember(Token outerToken, Token innerToken) { String outer;/*ww w. j a v a 2 s . com*/ String inner; Set<String> list; if (outerToken == null) throw new NullPointerException("Outer token must not be null."); if (innerToken == null) throw new NullPointerException("Inner token must not be null."); outer = outerToken.getText(); inner = innerToken.getText(); // check whether the member refers to itself if (outer.equals(inner)) { reportError(ERROR_REFERENCE, innerToken.getLine(), "Label cannot have itself as a member."); return; } // check whether the inner label has been defined list = labelMap.get(inner); if (list == null) { reportError(ERROR_ORDER, innerToken.getLine(), "Cannot reference undefined label '" + inner + "'."); return; } list = labelMap.get(outer); list.add(inner); }
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void addTarget(Token idToken) { String target;/*from ww w.j av a 2s. c o m*/ if (idToken == null) throw new NullPointerException("Id token must not be null."); target = idToken.getText(); if (target == null) throw new NullPointerException("Target variable name must not be null."); if (target.isEmpty()) throw new NullPointerException("Target variable name must not be empty."); if (targetSet.contains(target)) reportError(ERROR_UNIQUENESS, idToken.getLine(), "Duplicate reference to variable '" + target + "' in target variable definition."); targetSet.add(target); }
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void createMacroFromDefTask(Token taskNameToken) { DefTask defTask;/*from w w w . j a va 2 s. co m*/ String taskName; List<Expression> exprList; ApplyExpression applyExpr; if (taskNameToken == null) throw new NullPointerException("Task name token must not be null."); taskName = taskNameToken.getText(); if (taskName == null) throw new NullPointerException("Task name must not be null."); if (taskName.isEmpty()) throw new RuntimeException("Task name must not be empty."); defTask = this.getDefTask(taskName); addDefMacro(taskName); exprList = new LinkedList<>(); exprList.add(new IdExpression(taskName)); applyExpr = new ApplyExpression(); applyExpr.addParam(Constant.TOKEN_TASK, exprList); for (String paramName : defTask.getParamNameSet()) { if (paramName.equals(Constant.TOKEN_TASK)) continue; addDefMacroVar(paramName); exprList = new LinkedList<>(); exprList.add(new IdExpression(paramName)); applyExpr.addParam(paramName, exprList); } exprList = new LinkedList<>(); exprList.add(applyExpr); setDefMacroExpression(exprList); }
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void importFile(Token idToken) { if (idToken == null) throw new NullPointerException("Id token must not be null."); // check whether declare statement was present if (declare == null) { reportError(ERROR_ORDER, idToken.getLine(), "Import is allowed only after declare statement."); return;//from w ww . j a va 2s . c o m } try { importFile(idToken.getText()); } catch (IOException e) { reportError(ERROR_IO, idToken.getLine(), e.getMessage()); } }
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void setDeclare(Token idToken) { String d;//from ww w.ja v a 2s. c om if (idToken == null) throw new NullPointerException("Id token must not be null."); d = idToken.getText(); if (d == null) throw new NullPointerException("Declare text must not be null."); if (d.isEmpty()) throw new RuntimeException("Declare text must not be empty."); if (declare != null) { reportError(ERROR_UNIQUENESS, idToken.getLine(), "Duplicate declare statement. Already declared '" + declare + "'. Now trying to declare '" + d + "'."); return; } declare = d; if (blackList.contains(d)) throw new DuplicateParseException(); blackList.add(d); }
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void setDefTaskBody(Token tasknameToken, Token bodyToken) { String taskname;/*from www . j av a 2 s. c o m*/ String body; DefTask task; if (tasknameToken == null) throw new NullPointerException("Task name token must not be null."); if (bodyToken == null) throw new NullPointerException("Body token must not be null."); taskname = tasknameToken.getText(); body = bodyToken.getText(); task = defTaskMap.get(taskname); if (task == null) throw new NullPointerException("Referenced task does not exits."); task.setBody(body); }
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void verifyDefTaskLabel(Token taskNameToken) { String taskName;//from ww w .java2 s .com Set<String> labelSet; if (taskNameToken == null) throw new NullPointerException("Task name token must not be null."); taskName = taskNameToken.getText(); if (taskName == null) throw new NullPointerException("Task name must not be null."); if (taskName.isEmpty()) throw new RuntimeException("Task name must not be empty."); labelSet = getLabelSetForTask(taskName); if (!ForeignLangCatalog.hasLangLabel(labelSet)) { getDefTask(taskName).addLabel("bash"); labelSet = getLabelSetForTask(taskName); } if (!ForeignLangCatalog.isLangLabelUnique(labelSet)) reportError(ERROR_UNIQUENESS, taskNameToken.getLine(), "Language label is not unique."); }
From source file:de.huberlin.cuneiform.language.CorrelParam.java
License:Apache License
public CorrelParam(Token idToken, int type) { super();//from w w w. j a v a2s . c o m String s; if (idToken == null) throw new NullPointerException("Id token must not be null."); s = idToken.getText(); if (s == null) throw new NullPointerException("Id string must not be null."); if (s.isEmpty()) throw new RuntimeException("Id string must not be empty."); add(new ParamItem(idToken.getText(), type)); }