Example usage for org.antlr.v4.runtime Token getText

List of usage examples for org.antlr.v4.runtime Token getText

Introduction

In this page you can find the example usage for org.antlr.v4.runtime Token getText.

Prototype

String getText();

Source Link

Document

Get the text of the token.

Usage

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));
}