parameters: (self)
return_statement: return self.lex_arg(c)
docstring: lex_one_token - Lex a single 'sh' token.
docstring_summary: lex_one_token - Lex a single 'sh' token.
docstring_tokens: lex_one_token - Lex a single sh token .
function: def lex_one_token(self):
          """
          lex_one_token - Lex a single 'sh' token. """
  
          c = self.eat()
          if c in ';!':
              return (c,)
          if c == '|':
              if self.maybe_eat('|'):
                  return ('||',)
              return (c,)
          if c == '&':
              if self.maybe_eat('&'):
                  return ('&&',)
              if self.maybe_eat('>'): 
                  return ('&>',)
              return (c,)
          if c == '>':
              if self.maybe_eat('&'):
                  return ('>&',)
              if self.maybe_eat('>'):
                  return ('>>',)
              return (c,)
          if c == '<':
              if self.maybe_eat('&'):
                  return ('<&',)
              if self.maybe_eat('>'):
                  return ('<<',)
              return (c,)
  
          return self.lex_arg(c)
function_tokens: def lex_one_token ( self ) : c = self . eat ( ) if c in ';!' : return ( c , ) if c == '|' : if self . maybe_eat ( '|' ) : return ( '||' , ) return ( c , ) if c == '&' : if self . maybe_eat ( '&' ) : return ( '&&' , ) if self . maybe_eat ( '>' ) : return ( '&>' , ) return ( c , ) if c == '>' : if self . maybe_eat ( '&' ) : return ( '>&' , ) if self . maybe_eat ( '>' ) : return ( '>>' , ) return ( c , ) if c == '<' : if self . maybe_eat ( '&' ) : return ( '<&' , ) if self . maybe_eat ( '>' ) : return ( '<<' , ) return ( c , ) return self . lex_arg ( c )