List of usage examples for org.antlr.v4.runtime Token getLine
int getLine();
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void addDefTaskLabel(Token tasknameToken, Token labelToken) { String taskname;//w w w . j a v a 2 s . co m String label; DefTask task; if (tasknameToken == null) throw new NullPointerException("Task name token must not be null."); if (labelToken == null) throw new NullPointerException("Label token must not be null."); taskname = tasknameToken.getText(); label = labelToken.getText(); task = defTaskMap.get(taskname); if (task == null) throw new NullPointerException("Referenced task does not exits."); if (!labelMap.containsKey(label)) { reportError(ERROR_ORDER, labelToken.getLine(), "In definition of task '" + taskname + "' the label '" + label + "' is used but was not defined."); return; } task.addLabel(label); }
From source file:de.huberlin.cuneiform.language.BaseCuneiformParser.java
License:Apache License
protected void addExtendLabel(Token idToken) { String label;//from w w w. jav a2 s . c om 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;/*from w w w .ja va 2 s. co m*/ 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;/*from w w w . j av a 2s. c o m*/ 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 w w w. j a va 2 s . co 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 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 .ja v a 2 s. co 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 w w w .ja v a2 s .c o m 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 verifyDefTaskLabel(Token taskNameToken) { String taskName;/*www. ja va2s. 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.DefTaskOutput.java
License:Apache License
public DefTaskOutput(Token idToken, int type) { this(idToken.getLine(), idToken.getText(), type); }
From source file:de.huberlin.cuneiform.language.ForMethod.java
License:Apache License
public ForMethod(Token idToken) { this(idToken.getLine(), idToken.getText()); }