index

La compression

  1. Table de symbole A
  2. Matrice M
  3. Les fonctions spéciales

Table de symbole A

Matrice M

Les fonctions spéciales

Ces fonctions servent à compresser la taille des automates, c'est pour cela que leur nom est si court !

La fonction f

Renvoie une fonction ayant comme arguments symb et state.

var f =function( sCharSet, bIn ){
	var cache = {}
	for(var i=0, ni=sCharSet.length; i < ni; i++ ) cache[ sCharSet[i]] = -1
	return bIn
		? function(symb,state){ return cache[symb] ? state : -1 }
		: function(symb,state){ return cache[symb] || state }
	}

La fonction g

Renvoie un objet ayant comme clé les symboles et comme valeur un index.

var g =function( sSymb1 /*,  sSymb2, ... */ ){ 
	var o = {}
	for(var i=0, ni=arguments.length; i < ni; i++ ) o[ arguments[i]] = i
	return o
	}

La fonction h

Renvoie un tableau :

var h =function( nLength, nDefaultValue, nIndex1, nValue1 /*,  nIndex2, nValue2, ...*/ ){
	var a = []
	var o = {}
	for(var i=2, ni=arguments.length; i < ni; i=i+2 ) o[ arguments[i]] = arguments[i+1]
	for(var i=0; i < nLength; i++ ) a[i] = o[i] || nDefaultValue
	return a
	}