Ilya Matveev 54beb0c8e8 [regex] Fix quantifier processing
Consider the following regular expression:

((.){0,1}b)+

The original Harmony implementation fails to match a string '0b1b'
with it. The root-cause is the following. After matching the inner
group first time (it matches '0' in the input string) we don't
reset the counter of occurrences for it and proceed to the next
elements for the regex. When we should match it the second time (we
should match '1' at this point) we obtain this obsolete value of the
counter and come to a conclusion that the group has more occurrences
than specified in the quantifier.

The fix resets this counter each time we move to next elements of
a regex from a QuantifierSet.
2018-11-23 15:18:58 +07:00
2018-11-07 19:57:41 +03:00
2018-08-27 14:55:51 +03:00
2018-08-27 14:55:51 +03:00
2018-10-10 12:37:00 +03:00
2018-11-01 11:54:54 +03:00
2018-02-12 18:53:58 +03:00
2018-11-22 12:25:40 +03:00
2018-11-23 15:18:58 +07:00
2017-03-30 09:51:58 +03:00
2018-09-27 23:37:10 +03:00
2017-10-04 14:40:08 +03:00
2016-10-27 13:52:00 +03:00
2018-09-13 11:48:42 +03:00
2018-09-25 15:55:45 +03:00
2018-09-26 18:51:29 +03:00
2017-04-28 17:05:20 +02:00
2018-11-01 11:54:54 +03:00
2018-10-19 15:13:51 +03:00

official project

Kotlin/Native

Kotlin/Native is an LLVM backend for the Kotlin compiler, runtime implementation, and native code generation facility using the LLVM toolchain.

Kotlin/Native is primarily designed to allow compilation for platforms where virtual machines are not desirable or possible (such as iOS or embedded targets), or where a developer is willing to produce a reasonably-sized self-contained program without the need to ship an additional execution runtime.

Prerequisites:

  • install JDK for your platform, instead of JRE. The build requires tools.jar, which is not included in JRE;
  • on macOS install Xcode 10.1
  • on Fedora 26+ yum install ncurses-compat-libs may be needed

To compile from sources use following steps:

First, download dependencies:

./gradlew dependencies:update

Then, build the compiler and libraries:

./gradlew bundle

The build can take about an hour on a Macbook Pro. To run a shorter build with only the host compiler and libraries, run:

./gradlew dist distPlatformLibs

To include Kotlin compiler in composite build and build against it, use the kotlinProjectPath project property:

./gradlew dist -PkotlinProjectPath=path/to/kotlin/project

After that, you should be able to compile your programs like this:

export PATH=./dist/bin:$PATH
kotlinc hello.kt -o hello

For an optimized compilation, use -opt:

kotlinc hello.kt -o hello -opt

For tests, use:

./gradlew backend.native:tests:run

To generate interoperability stubs, create a library definition file (refer to samples/tetris/.../sdl.def), and run the cinterop tool like this:

cinterop -def lib.def

See the provided samples and INTEROP.md for more details.

The Interop tool generates a library in the .klib library format. See LIBRARIES.md for more details on this file format.

S
Description
The Kotlin Programming Language.
Readme 2.1 GiB
Languages
Kotlin 79.9%
Java 10.4%
Swift 4.3%
C 2.8%
C++ 2.1%
Other 0.3%