RPA Toolkit
6f817c3513e7870a3fad39ac89a35bc978bfa023
[rpatk.git] / phpext / prpa / tests / 009.phpt
1 --TEST--
2 rpa_dbex_parse($hDbex, $pattern, $myname)
3 --SKIPIF--
4 <?php if (!extension_loaded("prpa")) echo "skip\n"; ?>
5 --FILE--
6 <?php 
7         $hDbex = rpa_dbex_create();
8         $records = 0;
9         rpa_dbex_open($hDbex);
10
11         $bnf = "#!emitid first 1\n" .
12         "#!emitid last 2\n" .
13         "#!emitid name 3\n" .
14         "first ::= [a-z]+\n" .
15         "last ::= [a-z]+\n" .
16         "name ::= <first> ' '+ <last>\n";
17         if (rpa_dbex_load($hDbex, $bnf) < 0) {
18                 echo("rpa_dbex_load failed.\n");
19                 echo(rpa_dbex_error($hDbex) . "\n");
20         }
21         
22 //      rpa_dbex_close($hDbex);
23         rpa_dbex_compile($hDbex);
24         $pattern = rpa_dbex_lookup($hDbex, "name");
25         if ($pattern == -1) {
26                 die(rpa_dbex_error($hDbex). "\n");
27         }
28         $myname = "Kosko Stoilov";
29         $stat = rpa_stat_create($hDbex, 0);
30         
31         $ret = rpa_stat_parse($stat, $pattern, RPA_ENCODING_ICASE_UTF8, $myname, $records);
32         $matched = "matched: " . substr($myname, 0, $ret) . "\n";
33         echo($matched);
34         
35         foreach ($records as $record) {
36                 if ($record['type'] & RPA_RECORD_START)
37                         echo("START ");
38                 else if ($record['type'] & RPA_RECORD_END)
39                         echo("END   ");
40                 else
41                         echo("UNKNOWN");
42                 echo ($record['uid'] . ", " . $record['rule'] . ": " . $record['input'] . "\n");
43         }
44         unset($stat);
45         unset($hDbex);
46       
47 ?>
48 --EXPECT--
49 matched: Martin Stoilov