sig
type token =
Directive of string
| Attribute of string
| Label of Utils.UTF8.t
| Int of int64
| Float of float
| String of Utils.UTF8.t
| Class_name of Name.for_class
| Array_type of Utils.UTF8.t
| Primitive_type of Descriptor.java_type
| Field of Name.for_class * Name.for_field * Descriptor.for_field
| Dynamic_method of Name.for_method * Descriptor.for_method
| Method of Name.for_class * Name.for_method * Descriptor.for_method
| Array_method of Descriptor.array_type * Name.for_method *
Descriptor.for_method
| Method_signature of Name.for_method * Descriptor.for_parameter list
| Method_type of Descriptor.for_method
| Method_handle of Bootstrap.method_handle
| Identifier of Utils.UTF8.t
| Arrow
| Tilde
type error =
Invalid_label of Utils.UTF8.t
| Invalid_directive of Utils.UTF8.t
| Invalid_attribute of Utils.UTF8.t
| Invalid_string of Utils.UTF8.t
| Invalid_character of Utils.UChar.t
| Invalid_float of string
| Invalid_integer of string
| Invalid_method_handle of Utils.UTF8.t
| Invalid_token
| Name_error of Name.error
| Descriptor_error of Descriptor.error
| UChar_error of Utils.UChar.error
| UTF8_error of Utils.UTF8.error
exception Exception of Lexer.error
val string_of_error : Lexer.error -> string
val tokens_of_line : Utils.UTF8.t -> Lexer.token list
val equal : Lexer.token -> Lexer.token -> bool
end