summaryrefslogtreecommitdiff
path: root/src/packrat-traits.ads
blob: 7f25dd95f344a4ffbb6ac537d786941902bf9b0b (plain)
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


with

    Packrat.Tokens;


generic

    type Lab_Enum is (<>);
    type Elem_Type is private;
    type Elem_Array is array (Positive range <>) of Elem_Type;

    with function "<" (Left, Right : in Elem_Type) return Boolean is <>;

package Packrat.Traits is


    --  Should these even really be necessary, or should the original
    --  types be visible even to packages that Traits gets passed to?
    --  I have no idea.
    subtype Label_Enum is Lab_Enum;
    subtype Element_Type is Elem_Type;
    subtype Element_Array is Elem_Array;


    function "<"
           (Left, Right : in Element_Array)
        return Boolean;


    package Tokens is new Packrat.Tokens (Label_Enum, Element_Type, Element_Array);


end Packrat.Traits;