Git Product home page Git Product logo

jssnowball's People

Contributors

jan-tosovsky-cz avatar mazko avatar mazkobot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

jssnowball's Issues

Switching babel to babel-cli

When running command make esjava I am getting the following warning:

$ make esjava
sed 's/\\u/\\\\u/g' js_snowball/lib/snowball.es6 |              \
babel                                                                   \
--compact=false                                                         \
--presets es2015                                                        \
--plugins transform-es2015-modules-umd --module-id snowballFactory |   \
sed 's/\\\\u/\\u/g' > js_snowball/lib/snowball.babel.js
You have mistakenly installed the `babel` package, which is a no-op in Babel 6.
Babel's CLI commands have been moved from the `babel` package to the `babel-cli` package.

    npm uninstall babel
    npm install --save-dev babel-cli

See http://babeljs.io/docs/usage/cli/ for setup instructions.

I managed to get es5 output using following steps:
$ npm install -save-dev babel-cli
$ npx babel --compact=false --presets es2015 --plugins transform-es2015-modules-umd --module-id snowballFactory js_snowball/lib/snowball.es6 --out-file js_snowball/lib/snowball.babel.js

Btw, comparing your and mine snowball.babel.js there is missing the first line in my output:

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };

This function is used in _possibleConstructorReturn and _inherits functions while in my output simple typeof is used instead there.

Modifying javascript output to get it working

Comparing original ES6 output (https://github.com/mazko/jssnowball/raw/master/js_snowball/lib/snowball.es6) with mine generated via GNUmakefile I can see crucial differences in eq_s and eq_s_b methods, see s.length vs. s.length() in the following example:

original:

key: 'eq_s$esjava$1',
value: function eq_s$esjava$1(s) {
    if (this.limit - this.cursor < s.length) return false;
    var i = void 0;
    for (i = 0; i !== s.length; i++) {
        if (this.current.charAt(this.cursor + i) !== s.charCodeAt(i)) return false;
    }
    this.cursor += s.length;
    return true;
}

mine:

key: 'eq_s$esjava$1',
value: function eq_s$esjava$1(s) {
    if (this.limit - this.cursor < s.length()) return false;
    var i = void 0;
    for (i = 0; i !== s.length(); i++) {
        if (this.current.charAt(this.cursor + i) !== s.charAt(i)) return false;
    }
    this.cursor += s.length();
    return true;
}

That mine (babelized) returns a TypeError: s.length is not a function.

It gets fixed when using s.length instead. Am I supposed to modify final es6/es5 code? It is not mentioned in Readme.md file. Or is it ESJava regression?

build failing and ESJava restrictions

I am trying to rebuild jssnowball, but its failing for me:

$ make esjava                                             
public class arabicStemmer extends org.tartarus.snowball.SnowballStemmer {
public class armenianStemmer extends org.tartarus.snowball.SnowballStemmer {
public class basqueStemmer extends org.tartarus.snowball.SnowballStemmer {
public class catalanStemmer extends org.tartarus.snowball.SnowballStemmer {
public class czechStemmer extends org.tartarus.snowball.SnowballStemmer {
public class danishStemmer extends org.tartarus.snowball.SnowballStemmer {
    private java.lang.StringBuilder S_ch = new java.lang.StringBuilder();
public class dutchStemmer extends org.tartarus.snowball.SnowballStemmer {
public class englishStemmer extends org.tartarus.snowball.SnowballStemmer {
public class finnishStemmer extends org.tartarus.snowball.SnowballStemmer {
    private java.lang.StringBuilder S_x = new java.lang.StringBuilder();
public class frenchStemmer extends org.tartarus.snowball.SnowballStemmer {
public class germanStemmer extends org.tartarus.snowball.SnowballStemmer {
public class hungarianStemmer extends org.tartarus.snowball.SnowballStemmer {
public class irishStemmer extends org.tartarus.snowball.SnowballStemmer {
public class italianStemmer extends org.tartarus.snowball.SnowballStemmer {
public class norwegianStemmer extends org.tartarus.snowball.SnowballStemmer {
public class porterStemmer extends org.tartarus.snowball.SnowballStemmer {
public class portugueseStemmer extends org.tartarus.snowball.SnowballStemmer {
public class romanianStemmer extends org.tartarus.snowball.SnowballStemmer {
public class russianStemmer extends org.tartarus.snowball.SnowballStemmer {
public class sloveneStemmer extends org.tartarus.snowball.SnowballStemmer {
public class spanishStemmer extends org.tartarus.snowball.SnowballStemmer {
public class swedishStemmer extends org.tartarus.snowball.SnowballStemmer {
public class tamilStemmer extends org.tartarus.snowball.SnowballStemmer {
public class turkishStemmer extends org.tartarus.snowball.SnowballStemmer {
make: *** [js_snowball/lib/snowball.es6] Error 42

The only step I didnt do is the next because I didnt understand it, what are the restrictions that we should deal with them?

ESJava has some restrictions like reflection e.t.c. You have to refactor manually such *.java sources too

Including arabic stemmer

I recently made an Arabic stemmer for snowball, its merged into the repo of snowball and xapian. Could you include it in jssnowball or guide me how to do it.

building languages separately

Hello, I'm trying to build the javascript files for the English language only, since the existing npm module (snowball-stemmers) is too large and I only need it for English. (It would be nice if the npm module had separate submodules for each language so they could be imported separately.) Can you help me with this?

I edited the GNUMakefile to only have the english algorithm, and followed the steps in the readme, but I'm getting the error

$ make esjava
package org.tartarus.snowball;
package org.tartarus.snowball;
package org.tartarus.snowball;
import java.lang.reflect.Method;
package org.tartarus.snowball;
import java.lang.reflect.InvocationTargetException;
package org.tartarus.snowball;
import java.lang.reflect.InvocationTargetException;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
import org.tartarus.snowball.StringBuilder;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
public class englishStemmer extends org.tartarus.snowball.SnowballStemmer {
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
import org.tartarus.snowball.StringBuilder;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
package org.tartarus.snowball.ext;
import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballStemmer;
make: *** [js_snowball/lib/snowball.es6] Error 42

No license ?

Hi,

I don't find the license, either at the root of the repository, or in the files.
Could you add one please ?

Thank you.

Manuel

Hebrew stemmer

Hi,

snowball looks very promising.
Is there any chance of creating hebrew stemmer, it should be similar to the arabic one.

Thanks!

LICENSE file missing

Unfortunately the repository and also the source code files do not include a copyright or license statements.
Can I use this in my project?

Thanks in advance for your support.

Regards,

Matt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.