module Inria_lexgen: sig .. end
exception Memory_overflow
type automata =
type automata_trans =
type automata_move =
| |
Backtrack |
| |
Goto of int |
type memory_action =
| |
Copy of int * int |
| |
Set of int |
type tag_action =
| |
SetTag of int * int |
| |
EraseTag of int |
type tag_base =
| |
Start |
| |
End |
| |
Mem of int |
type tag_addr =
type ident_info =
type t_env = (string * ident_info) list
type ('a, 'b) automata_entry = {
|
auto_name : string; |
|
auto_args : 'a; |
|
auto_mem_size : int; |
|
auto_initial_state : int * memory_action list; |
|
auto_actions : (int * t_env * 'b) list; |
}
val make_dfa : ('a, 'b) Inria_syntax.entry list ->
('a, 'b) automata_entry list * automata array