Files
gnatstudio/examples/tutorial/struct/tokens.ads
Pascal Obry 9478d269f2 Fix file permissions.
git-svn-id: svn+ssh://svn.eu/Dev/trunk/gps@131475 936e1b1b-40f2-da11-902a-00137254ae57
2008-10-25 14:18:11 +00:00

38 lines
861 B
Ada

-- 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;