File: fastrec.c

package info (click to toggle)
ocaml-doc 3.09-1
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 10,428 kB
  • ctags: 4,963
  • sloc: ml: 9,244; makefile: 2,413; ansic: 122; sh: 49; asm: 17
file content (19 lines) | stat: -rw-r--r-- 495 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* La version C de la fonction determ__reconnait */

#include "mlvalues.h"

value reconnait(automate, chaine)
        value automate, chaine;
{
  value etat_courant, transition;
  int i, longueur;

  etat_courant = automate;
  longueur = string_length(chaine);
  for (i = 0; i < longueur; i++) {
    transition = Field(Field(etat_courant, 0), Byte_u(chaine, i));
    if (Tag_val(transition) == 1) return Val_false;
    etat_courant = Field(transition, 0);
  }
  return Field(etat_courant, 1);
}