Class Tokenizer


  • public class Tokenizer
    extends java.lang.Object
    Bash-like tokenizer. Single and double quotes are just like Bash - single quotes escape everything (including backslashes), newlines are allowed in quotes. backslash-newline indicates a line continuation and is removed. Variable expansion is just like Bash: $NAME or ${NAME[[:][-+=?WORD]}, except it can yield any Object. Variables expanded within double-quotes, or adjacent to a String are converted to String. Unlike bash, indirect variable expansion is supported using ${$NAME}. Only a single variable assignment is recognized, with '=' being the second token. (Bash allows name1=value1 name2=value2 ... command args) Comments can only start where white space is allowed: # or // starts a line comment, /* starts a block comment. The following common uses do NOT start comments: ls http://example.com#anchor ls $dir/*.java
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Tokenizer.Type  
    • Constructor Summary

      Constructors 
      Constructor Description
      Tokenizer​(java.lang.CharSequence text)  
      Tokenizer​(java.lang.CharSequence text, Evaluate evaluate, boolean inQuote)  
    • Constructor Detail

      • Tokenizer

        public Tokenizer​(java.lang.CharSequence text)
      • Tokenizer

        public Tokenizer​(java.lang.CharSequence text,
                         Evaluate evaluate,
                         boolean inQuote)
    • Method Detail

      • value

        public java.lang.CharSequence value()
      • token

        public Token token()
      • expand

        public static java.lang.Object expand​(java.lang.CharSequence word,
                                              Evaluate eval)
                                       throws java.lang.Exception
        expand variables, quotes and escapes in word.
        Parameters:
        vars -
        Returns:
        Throws:
        java.lang.Exception
      • expand

        public java.lang.Object expand​(java.lang.CharSequence word,
                                       short line,
                                       short column)
                                throws java.lang.Exception
        Throws:
        java.lang.Exception