예제 #1
0
function run_tests()
{
    $pseudo_code = "loop 3 sayhello sayhello";
    $key = "loop n code";
    $value = "for (\$i=1;\$i<=n;\$i++) { code }";
    $test_map = map_translation($pseudo_code, $key, $value);
    var_dump($test_map);
    /*$pseudo_code="msg hello";
      $key="msg trailing";
      $value="privmsg(trailing);";
      $test_map=map_translation($pseudo_code,$key,$value);
      var_dump($test_map);*/
}
예제 #2
0
function map_recurse(&$translations, $pseudo_code, &$map)
{
    if (isset($translations[$pseudo_code]) == True) {
        $pseudo_code = $translations[$pseudo_code];
    }
    foreach ($translations as $translation_key => $translation_value) {
        $sub_map = map_translation($pseudo_code, $translation_key, $translation_value);
        if ($sub_map === False) {
            continue;
        }
        foreach ($sub_map as $map_key => $map_value) {
            if ($map_value == "") {
                continue;
            }
            map_recurse($translations, $map_value, $sub_map);
        }
        array_unshift($sub_map, $translation_key, $translation_value);
        $map[$map_key] = $sub_map;
    }
}