/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* JFlex 1.8.2 *
* Copyright (C) 1998-2018 Gerwin Klein <lsf@jflex.de> *
* All rights reserved. *
* *
* License: BSD *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
package jflex.core;
import jflex.logging.Out;
Stores a regular expression from the rules section of a JFlex specification.
This class provides storage for one Object of content. It is used for all regular expressions
that are constructed from one object.
For instance: a* is new RegExp1(sym.STAR, 'a');
Author: Gerwin Klein Version: JFlex 1.8.2
/**
* Stores a regular expression from the rules section of a JFlex specification.
*
* <p>This class provides storage for one Object of content. It is used for all regular expressions
* that are constructed from one object.
*
* <p>For instance: a* is new RegExp1(sym.STAR, 'a');
*
* @author Gerwin Klein
* @version JFlex 1.8.2
*/
public class RegExp1 extends RegExp {
The child of this expression node in the syntax tree of a regular expression. /** The child of this expression node in the syntax tree of a regular expression. */
Object content;
true if this regexp was created from a dot/point (.) metachar /** true if this regexp was created from a dot/point (.) metachar */
boolean isPoint;
Constructs a new regular expression with one child object.
Params: - type – a value from the cup generated class sym, defining the kind of this regular
expression
- content – the child of this expression
/**
* Constructs a new regular expression with one child object.
*
* @param type a value from the cup generated class sym, defining the kind of this regular
* expression
* @param content the child of this expression
*/
public RegExp1(int type, Object content) {
super(type);
this.content = content;
}
@Override
public String print(String tab) {
if (content instanceof RegExp) {
return tab
+ "type = "
+ typeName()
+ Out.NL
+ tab
+ "content :"
+ Out.NL
+ ((RegExp) content).print(tab + " ");
} else
return tab
+ "type = "
+ typeName()
+ Out.NL
+ tab
+ "content :"
+ Out.NL
+ tab
+ " "
+ content;
}
@Override
public String toString() {
return print("");
}
}