Imported File#ftype spec from rubyspecs.
[rbx.git] / lib / rdoc / tokenstream.rb
blob0a1eb9130b265e22f777d3f03ddd474482a6821d
1 module RDoc; end
3 ##
4 # A TokenStream is a list of tokens, gathered during the parse of some entity
5 # (say a method). Entities populate these streams by being registered with the
6 # lexer. Any class can collect tokens by including TokenStream. From the
7 # outside, you use such an object by calling the start_collecting_tokens
8 # method, followed by calls to add_token and pop_token.
10 module RDoc::TokenStream
12   def token_stream
13     @token_stream
14   end
16   def start_collecting_tokens
17     @token_stream = []
18   end
20   def add_token(tk)
21     @token_stream << tk
22   end
24   def add_tokens(tks)
25     tks.each  {|tk| add_token(tk)}
26   end
28   def pop_token
29     @token_stream.pop
30   end
32 end