Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Postgres/src/backend/snowball/   (Postgres Database Version 18.4©)  Datei vom 11.4.2026 mit Größe 2 kB image not shown  

Quelle  snowball_create.pl

  Sprache: Shell
 

#!/usr/bin/perl

# Copyright (c) 2024-2025, PostgreSQL Global Development Group

use strict;
use warnings FATAL => 'all';
use Getopt::Long;

my $outdir_path = '';
my $makefile_path = '';
my $input_path = '';
my $depfile;

our @languages = qw(
  arabic
  armenian
  basque
  catalan
  danish
  dutch
  english
  estonian
  finnish
  french
  german
  greek
  hindi
  hungarian
  indonesian
  irish
  italian
  lithuanian
  nepali
  norwegian
  portuguese
  romanian
  russian
  serbian
  spanish
  swedish
  tamil
  turkish
  yiddish
);

# Names of alternative dictionaries for all-ASCII words.  If not
# listed, the language itself is used.  Note order dependency: Use of
# some other language as ASCII dictionary must come after creation of
# that language, so the "backup" language must be listed earlier in
# @languages.

our %ascii_languages = (
 'hindi' => 'english',
 'russian' => 'english',);

GetOptions(
 'depfile' => \$depfile,
 'outdir:s' => \$outdir_path,
 'input:s' => \$input_path) || usage();

# Make sure input_path ends in a slash if needed.
if ($input_path ne '' && substr($input_path, -1) ne '/')
{
 $outdir_path .= '/';
}

# Make sure outdir_path ends in a slash if needed.
if ($outdir_path ne '' && substr($outdir_path, -1) ne '/')
{
 $outdir_path .= '/';
}

GenerateTsearchFiles();

sub usage
{
 die <<EOM;
Usage: snowball_create.pl --input/-i <path> --outdir/-o <path>
    --depfile       Write dependency file
    --outdir        Output directory (default '.')
    --input         Input directory

snowball_create.pl creates snowball.sql from snowball.sql.in
EOM
}

sub GenerateTsearchFiles
{
 my $target = shift;
 my $outdir_file = "$outdir_path/snowball_create.sql";

 my $F;
 my $D;
 my $tmpl = read_file("$input_path/snowball.sql.in");

 if ($depfile)
 {
  open($D, '>'"$outdir_path/snowball_create.dep")
    || die "Could not write snowball_create.dep";
 }

 print $D "$outdir_file: $input_path/snowball.sql.in\n" if $depfile;
 print $D "$outdir_file: $input_path/snowball_func.sql.in\n" if $depfile;

 open($F, '>', $outdir_file)
   || die "Could not write snowball_create.sql";

 print $F "-- Language-specific snowball dictionaries\n";

 print $F read_file("$input_path/snowball_func.sql.in");

 foreach my $lang (@languages)
 {
  my $asclang = $ascii_languages{$lang} || $lang;
  my $txt = $tmpl;
  my $stop = '';
  my $stopword_path = "$input_path/stopwords/$lang.stop";

  if (-s "$stopword_path")
  {
   $stop = ", StopWords=$lang";

   print $D "$outdir_file: $stopword_path\n" if $depfile;
  }

  $txt =~ s#_LANGNAME_#${lang}#gs;
  $txt =~ s#_DICTNAME_#${lang}_stem#gs;
  $txt =~ s#_CFGNAME_#${lang}#gs;
  $txt =~ s#_ASCDICTNAME_#${asclang}_stem#gs;
  $txt =~ s#_NONASCDICTNAME_#${lang}_stem#gs;
  $txt =~ s#_STOPWORDS_#$stop#gs;
  print $F $txt;
 }
 close($F);
 close($D) if $depfile;
 return;
}


sub read_file
{
 my $filename = shift;
 my $F;
 local $/ = undef;
 open($F, '<', $filename) || die "Could not open file $filename\n";
 my $txt = <$F>;
 close($F);

 return $txt;
}

Messung V0.5 in Prozent
C=95 H=94 G=94

¤ Dauer der Verarbeitung: 0.24 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.