2006-06-05 Rodrigo Kumpera <kumpera@gmail.com>
[mono.git] / mcs / ilasm / parser / ScannerAdapter.cs
1 // ScannerAdapter.cs\r
2 // (C) Sergey Chaban (serge@wildwestsoftware.com)\r
3 \r
4 using System;\r
5 \r
6 namespace Mono.ILASM {\r
7 \r
8         /// <summary>\r
9         /// </summary>\r
10         public class ScannerAdapter : yyParser.yyInput {\r
11 \r
12                 private ITokenStream tokens;\r
13 \r
14                 /// <summary>\r
15                 /// </summary>\r
16                 /// <param name="tokens"></param>\r
17                 public ScannerAdapter (ITokenStream tokens)\r
18                 {\r
19                         this.tokens = tokens;\r
20                 }\r
21 \r
22 \r
23                 /// <summary>\r
24                 /// </summary>\r
25                 public ITokenStream BaseStream {\r
26                         get {\r
27                                 return tokens;\r
28                         }\r
29                 }\r
30 \r
31                 //\r
32                 // yyParser.yyInput interface\r
33                 //\r
34 \r
35                 /// <summary>\r
36                 /// </summary>\r
37                 /// <returns></returns>\r
38                 public bool advance ()\r
39                 {\r
40                         return (tokens.NextToken != ILToken.EOF);\r
41                 }\r
42 \r
43                 /// <summary>\r
44                 /// </summary>\r
45                 /// <returns></returns>\r
46                 public int token ()\r
47                 {\r
48                         return tokens.LastToken.TokenId;\r
49                 }\r
50 \r
51                 /// <summary>\r
52                 /// </summary>\r
53                 /// <returns></returns>\r
54                 public object value ()\r
55                 {\r
56                         return tokens.LastToken.Value;\r
57                 }\r
58         }\r
59 }\r
60 \r