1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
-- This package defines the notion of a token. In general terms a token is
-- the smallest lexical entity known to SDC.
with Instructions;
with Values;
with Values.Operations;
package Tokens is
type Token_Kind is (Val, Op, Instr);
type Token (Kind : Token_Kind) is private;
-- The actual token type.
function Next return Token;
-- Reads the input characters typed by the user
-- and converts them into tokens.
procedure Process (T : Token);
-- Process token T, ie undertake the actions corresponding to token T.
private
type Token (Kind : Token_Kind) is record
case Kind is
when Val =>
Val : Values.Value;
when Op =>
Op : Values.Operations.Operation;
when Instr =>
Instr : Instructions.Instruction;
end case;
end record;
end Tokens;
|