separate (Token_Package)
procedure Set_Peek_Back is
begin
    -- Set_Peek_Back

    -- check if Next_Token_Location is empty or not
    if not New_List.Is_Equal (Next_Token_Location, New_List.Null_List) then

        -- assign Peek_Next_Token to the same location
        -- Next_Token_Location is currently pointing to
        New_List.Share (The_List => Next_Token_Location,
                        With_The_List => Peek_Token_Location);

    end if;

end Set_Peek_Back;