Skip to content

nodef/stmr.c

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stmr(3) Build Status Coverage Status

Martin Porter’s Stemming algorithm as a C library, by Titus. There’s also a CLI: stmr(1).

Installation

Run:

$ npm i stmr.c

And then include stmr.h as follows:

#include "node_modules/stmr.c/stmr.h"

You may also want to include stmr.c as follows:

#ifndef __STMR_C__
#define __STMR_C__
#include "node_modules/stmr.c/stmr.c"
#endif

This will include both the function declaration and their definitions into a single file.


Or use

clib:

clib install wooorm/stmr.c

Or clone the repo.

Usage

int stem(char *pointer, int start, int end)

#include <stdio.h>
#include <string.h>
#include "stmr.h"

int
main(int argc, char **argv) {
  char *word = argv[1];

  int end = stem(word, 0, strlen(word) - 1);

  word[end + 1] = 0;

  printf("%s", word);
}

Related

  • stemmer — Same algorithm in JavaScript
  • stmr — CLI in C

License

MIT © Titus Wormer



ORG

About

Porter Stemmer algorithm in C; Titus (2014).

Resources

License

Stars

Watchers

Forks

Languages

  • C 95.5%
  • Makefile 4.5%