public virtual SequencePattern.PatternExpr GetSequencePatternExpr(string name, bool copy) { object obj = variables[name]; if (obj != null) { if (obj is SequencePattern) { SequencePattern seqPattern = (SequencePattern)obj; return(seqPattern.GetPatternExpr()); } else { if (obj is SequencePattern.PatternExpr) { SequencePattern.PatternExpr pe = (SequencePattern.PatternExpr)obj; return((copy) ? pe.Copy() : pe); } else { if (obj is NodePattern) { return(new SequencePattern.NodePatternExpr((NodePattern)obj)); } else { if (obj is string) { try { return(parser.ParseSequence(this, (string)obj)); } catch (Exception pex) { throw new Exception("Error parsing " + obj + " to sequence pattern", pex); } } else { throw new Exception("Invalid sequence pattern variable class: " + obj.GetType()); } } } } } return(null); }
/// <summary> /// Compiles a sequence of regular expressions into a TokenSequencePattern /// using the specified environment. /// </summary> /// <param name="env">Environment to use</param> /// <param name="strings">List of regular expression to be compiled</param> /// <returns>Compiled TokenSequencePattern</returns> public static Edu.Stanford.Nlp.Ling.Tokensregex.TokenSequencePattern Compile(Env env, params string[] strings) { try { IList <SequencePattern.PatternExpr> patterns = new List <SequencePattern.PatternExpr>(); foreach (string @string in strings) { // TODO: Check token sequence parser? SequencePattern.PatternExpr pattern = env.parser.ParseSequence(env, @string); patterns.Add(pattern); } SequencePattern.PatternExpr nodeSequencePattern = new SequencePattern.SequencePatternExpr(patterns); return(new Edu.Stanford.Nlp.Ling.Tokensregex.TokenSequencePattern(StringUtils.Join(strings), nodeSequencePattern)); } catch (Exception ex) { throw new Exception(ex); } }
/// <summary>Compiles a PatternExpr into a TokenSequencePattern.</summary> /// <param name="nodeSequencePattern">A sequence pattern expression (before translation into a NFA)</param> /// <returns>Compiled TokenSequencePattern</returns> protected internal static SequencePattern <T> Compile(SequencePattern.PatternExpr nodeSequencePattern) { return(new Edu.Stanford.Nlp.Ling.Tokensregex.TokenSequencePattern(null, nodeSequencePattern)); }
public TokenSequencePattern(string patternStr, SequencePattern.PatternExpr nodeSequencePattern, ISequenceMatchAction <ICoreMap> action) : base(patternStr, nodeSequencePattern, action) { }
public TokenSequencePattern(string patternStr, SequencePattern.PatternExpr nodeSequencePattern) : base(patternStr, nodeSequencePattern) { }