Package it.halfone.regex.symbol

Examples of it.halfone.regex.symbol.Symbol


   */
  public Regex boost(int likeness) {
    Regex retVal = new Regex();

    retVal.isSelf = this.isSelf;
    retVal.addSymbol(new Symbol("", Type.START));
    retVal.addSymbol(this.symbolList.toArray(new Symbol[] {}));

    for (Integer key : this.connections.keySet()) {
      for (Integer successor : this.connections.get(key)) {
        retVal.addConnection(key + 1, successor + 1);
      }
    }
    retVal.addSymbol(new Symbol("", Type.END));

    retVal.addConnection(0, 1);
    retVal.addConnection(retVal.symbolList.size() - 2, retVal.symbolList.size() - 1);

    retVal.symbolList.set(1, this.symbolList.get(0).setLikeness(likeness));
View Full Code Here


   *
   * @return Una Regex capace di riconoscere la stringa literal, e nessun'altra stringa.
   */
  public static Regex literal(String literal) {
    Regex retVal = new Regex();
    retVal.addSymbol(new Symbol("", Type.START));

    for (int i = 0; i < literal.length(); i++) {
      retVal.addSymbol(new Symbol(literal.charAt(i) + "", Type.CHAR));
      retVal.addConnection(i, i + 1);
    }
    retVal.addSymbol(new Symbol("", Type.END));
    retVal.addConnection(literal.length(), literal.length() + 1);

    return retVal;
  }
View Full Code Here

   * @param t
   * @return
   */
  private static Regex classRegex(Type t) {
    Regex retVal = new Regex();
    retVal.addSymbol(new Symbol("", Type.START));
    retVal.addSymbol(new Symbol("", t));
    retVal.addSymbol(new Symbol("", Type.END));

    retVal.addConnection(0, 1);
    retVal.addConnection(1, 2);

    return retVal;
View Full Code Here

   * @return
   */
  public Regex then(Regex other) {
    Regex retVal = new Regex();
    retVal.isSelf = this.isSelf || other.isSelf;
    retVal.addSymbol(new Symbol("", Type.START));
    retVal.addSymbol(this.symbolList.toArray(new Symbol[] {}));
    retVal.addSymbol(other.symbolList.toArray(new Symbol[] {}));
    retVal.addSymbol(new Symbol("", Type.END));

    for (Integer key : this.connections.keySet()) {
      for (Integer successor : this.connections.get(key)) {
        retVal.addConnection(key + 1, successor + 1);
      }
View Full Code Here

   */
  public Regex or(Regex other) {
    Regex retVal = new Regex();

    retVal.isSelf = this.isSelf || other.isSelf;
    retVal.addSymbol(new Symbol("", Type.START));
    retVal.addSymbol(this.symbolList.toArray(new Symbol[] {}));
    retVal.addSymbol(other.symbolList.toArray(new Symbol[] {}));
    retVal.addSymbol(new Symbol("", Type.END));

    for (Integer key : this.connections.keySet()) {
      for (Integer successor : this.connections.get(key)) {
        retVal.addConnection(key + 1, successor + 1);
      }
View Full Code Here

   * @return
   */
  public Regex repeat(int minTimes, int maxTimes) {
    Regex retVal = new Regex();
    retVal.isSelf = this.isSelf;
    retVal.addSymbol(new Symbol("", Type.START));

    for (int i = 0; i < maxTimes; i++) {
      retVal.addSymbol(this.symbolList.toArray(new Symbol[] {}));

      for (Integer key : this.connections.keySet()) {
        for (Integer successor : this.connections.get(key)) {
          retVal.addConnection(key + 1 + (i * this.symbolList.size()), successor + 1 + (i * this.symbolList.size()));
        }
      }
      retVal.addConnection(i * this.symbolList.size(), 1 + (i * this.symbolList.size()));
    }
    retVal.addSymbol(new Symbol("", Type.END));

    retVal.addConnection(retVal.symbolList.size() - 2, retVal.symbolList.size() - 1);

    for (int i = minTimes; i < maxTimes; i++) {
      retVal.addConnection(i * this.symbolList.size(), retVal.symbolList.size() - 1);
View Full Code Here

   */
  public Regex atLeast(int minTimes) {
    Regex retVal = new Regex();

    retVal.isSelf = this.isSelf;
    retVal.addSymbol(new Symbol("", Type.START));

    for (int i = 0; i < minTimes; i++) {
      retVal.addSymbol(this.symbolList.toArray(new Symbol[] {}));

      for (Integer key : this.connections.keySet()) {
        for (Integer successor : this.connections.get(key)) {
          retVal.addConnection(key + 1 + (i * this.symbolList.size()), successor + 1 + (i * this.symbolList.size()));
        }
      }
      retVal.addConnection(i * this.symbolList.size(), 1 + (i * this.symbolList.size()));
    }
    retVal.addSymbol(new Symbol("", Type.END));

    retVal.addConnection(retVal.symbolList.size() - 2, retVal.symbolList.size() - 1);

    retVal.addConnection(retVal.symbolList.size() - 2, ((minTimes - 1) * this.symbolList.size()) + 1);
    retVal.reIndexMarks();
View Full Code Here

   */
  public Regex optional() {
    Regex retVal = new Regex();

    retVal.isSelf = this.isSelf;
    retVal.addSymbol(new Symbol("", Type.START));
    retVal.addSymbol(this.symbolList.toArray(new Symbol[] {}));

    for (Integer key : this.connections.keySet()) {
      for (Integer successor : this.connections.get(key)) {
        retVal.addConnection(key + 1, successor + 1);
      }
    }
    retVal.addSymbol(new Symbol("", Type.END));

    retVal.addConnection(0, 1);
    retVal.addConnection(0, retVal.symbolList.size() - 1);
    retVal.addConnection(retVal.symbolList.size() - 2, retVal.symbolList.size() - 1);
    retVal.reIndexMarks();
View Full Code Here

   */
  public Regex star() {
    Regex retVal = new Regex();

    retVal.isSelf = this.isSelf;
    retVal.addSymbol(new Symbol("", Type.START));
    retVal.addSymbol(this.symbolList.toArray(new Symbol[] {}));

    for (Integer key : this.connections.keySet()) {
      for (Integer successor : this.connections.get(key)) {
        retVal.addConnection(key + 1, successor + 1);
      }
    }
    retVal.addSymbol(new Symbol("", Type.END));

    retVal.addConnection(0, 1);
    retVal.addConnection(0, retVal.symbolList.size() - 1);
    retVal.addConnection(retVal.symbolList.size() - 2, retVal.symbolList.size() - 1);
    retVal.addConnection(retVal.symbolList.size() - 2, 1);
View Full Code Here

   */
  public Regex mark(String markName) {
    Regex retVal = new Regex();

    retVal.isSelf = this.isSelf;
    retVal.addSymbol(new Symbol("", Type.START));
    retVal.addSymbol(this.symbolList.toArray(new Symbol[] {}));
    retVal.addSymbol(new Symbol("", Type.END));

    for (Integer key : this.connections.keySet()) {
      for (Integer successor : this.connections.get(key)) {
        retVal.addConnection(key + 1, successor + 1);
      }
View Full Code Here

TOP

Related Classes of it.halfone.regex.symbol.Symbol

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.