type Token_Scanner is new Limited_Object with private;
type A_Token_Scanner is access all Token_Scanner'Class;
function Create_Token_Scanner return A_Token_Scanner;
function Accept_Binary_Op
( | this | : not null access Token_Scanner'Class ) return A_Token; |
function Accept_Identifier
( | this | : not null access Token_Scanner'Class ) return A_Identifier_Token; |
function Accept_Token
( | this | : not null access Token_Scanner'Class; |
tokenType | : Token_Type ) return A_Token; |
function Accept_Unary_Op
( | this | : not null access Token_Scanner'Class ) return A_Token; |
function Expect_Identifier
( | this | : not null access Token_Scanner'Class ) return A_Identifier_Token; |
function Expect_Token
( | this | : not null access Token_Scanner'Class; |
tokenType | : Token_Type ) return A_Token; |
procedure Expect
( | this | : not null access Token_Scanner'Class; |
tokenType | : Token_Type ); |
function Get_Location
( | this | : not null access Token_Scanner'Class ) return Token_Location; |
procedure Set_Input
( | this | : not null access Token_Scanner'Class; |
stream | : Stream_Access ); |