Giter Club home page Giter Club logo

Comments (7)

tommyettinger avatar tommyettinger commented on June 14, 2024 1

Oh yeah, submodules can be a hassle. It probably works best if you need to modify it for integration purposes to keep a copy. This sounds like a good approach, what you have.

from jtransc.

tommyettinger avatar tommyettinger commented on June 14, 2024

That's me! RegExodus is currently in the middle of some difficult bug-fixing to fix various problems exposed by running the compatibility package (regexodus.regex is meant to be near-equivalent to java.util.regex) through OpenJDK 7's tests for their regex package. Possessive modifiers are definitely not supported (a++ or c*+), character class intersection/union is not supported (because it's insane and bug-prone, plus almost no language implements them, for good reasons), and comments in regexes with whitespace mode, like (?x) A # this is a comment, this regex matches the letter A aren't implemented. Entering case-insensitive mode in the middle of a regex with (?i)blah isn't working yet because of a bug, but it should work soon. Supplementary characters (above '\uFFFF', unfortunately including most emoji) are not supported, because almost all of the code is designed around char values instead of int.

The current code is stuck on a test where it tries and fails to compile the regex (?:\w{2,}?)+; and I'm not exactly sure why it fails (it's in a section of complicated branching/repeating code, which was taken from JRegex and hasn't needed modification until now). Then again, all I can say about that particular regex is that it should probably match an empty string, or 2 or more word chars, but never 1 word char, and I have no idea when that would ever be wanted. It could also be rewritten more simply as \w{2,}?.

When I get most of the tests to pass (the ones that are supported or should work but currently don't), I'll release another version of RegExodus, I think 0.2 It's very possible the current master version will work in the meanwhile, since it has the regexodus.regex compatibility package that almost duplicates the API of java.util.regex, other than some obscure features like bounds transparency which throw UnsupportedOperationExceptions.

from jtransc.

soywiz avatar soywiz commented on June 14, 2024

No problem. I'm going to integrate it today. It is better that nothing :) And when you fix the stuff I will update it.
I tried mostly to avoid submodules here. Can I copy the repo to a folder (linking to the original repo)? Or should should include a git submodule pointing to your repo?

from jtransc.

soywiz avatar soywiz commented on June 14, 2024

I have integrated it already, but I'm waiting for your review and to decide how to include it.

#48 Integrate RegExodus
- I have added regexodus to jtransc-rt, included the sourcecode in this repository (waiting if the author prefers a git submodule)
- I have added LICENSE, README.md and a link to the original repository
- I have removed GwtIncompatible annotation
- I have removed the regex package, which is integrated directly in java.util.regex

Matcher have some missing functions.

int start(String) and int end(String)
+ some uncommon stuff

from jtransc.

soywiz avatar soywiz commented on June 14, 2024

I also think that a tightly integration could allow to use the Category class in some String and Character cases.
Also changing classes a bit, could totally avoid having to transform flags between one and other.

from jtransc.

soywiz avatar soywiz commented on June 14, 2024

Ok. So a small update on this. I have changed that the String class doesn't depend on regexodus, to avoid including that many classes in simple classes not using stuff. In that case javascript regexp are used. For String.split and regexp related APIs embedded in String.

Also I plan to release a version in a couple of days (I have to update it with the lastest changes). You are OK with keeping a copy here to avoid modules? or want a git submodule linking to your repo?

from jtransc.

soywiz avatar soywiz commented on June 14, 2024

Cool. I have updated it to the lastest version. That will be included in the 0.3.0 release.
Please, let me know about new updates so I include them in new jtransc releases :)

Closing this.

from jtransc.

Related Issues (20)

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.