Class BasicTagAnalyzer

  • All Implemented Interfaces:
    Analyzer<Expression>, TagAnalyzer

    public final class BasicTagAnalyzer
    extends AbstractAnalyzer<Expression>
    implements TagAnalyzer
    Analyze a tag. A tag is the most primitive part of an expression that does not contain any further operators (unless the operators are enclosed between brackets some way).

    A tag is defined as the following:

      tag ::= UNOP tag
              TRUE | FALSE
              NUMBER
              STRING
              '(' expression ')'
              VARIABLE { '[' expression_list ']' }
              FUNC '(' expression_list ')'
     
    Author:
    Peter Verhas