Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port ruby data_generator.rb to Julia #258

Merged
merged 9 commits into from
Jan 3, 2024

Conversation

c42f
Copy link
Contributor

@c42f c42f commented Dec 10, 2023

This reduces the number of dependencies needed when regenerating the C code by removing ruby from the tool chain. In addition, the bootstrapping requirement that libutf8proc needs to be built before CharWidths.txt can be generated is removed. The new code also separates C code generation from unicode data analysis more cleanly.

The output C code is identical to the original Ruby script, for now. Some bugs which were found in the process are noted as FIXMEs in the Julia source and can be fixed next.

This version of the script should also be better factored for generating a Julia version of the data file in the future (see JuliaLang/JuliaSyntax.jl#381 for the somewhat unfortunate reasons that this seems like a good idea).

This reduces the number of dependencies needed when regenerating the C
code. The new code also separates C code generation from unicode data
analysis somewhat more cleanly which should be better factored for
generating a Julia version of the data files in the future.

The output is identical to the original Ruby script, for now. Some bugs
which were found in the process are noted as FIXMEs in the Julia source
and can be fixed next.
@c42f
Copy link
Contributor Author

c42f commented Dec 20, 2023

Bump. Any interest in this?

c42f added a commit to c42f/UnicodeNext.jl that referenced this pull request Dec 21, 2023
* Data generator from JuliaStrings/utf8proc#258
* Partial porting progress of utf8proc functions to Julia
* Some APIs from Base.Unicode and Unicode stdlib
data/data_generator.jl Outdated Show resolved Hide resolved
data/data_generator.jl Outdated Show resolved Hide resolved
data/Makefile Outdated Show resolved Hide resolved
data/Makefile Outdated Show resolved Hide resolved
data/Makefile Outdated Show resolved Hide resolved
data/Makefile Outdated Show resolved Hide resolved
@c42f
Copy link
Contributor Author

c42f commented Jan 2, 2024

Nice, looks like we're good to go here.

data/data_generator.jl Outdated Show resolved Hide resolved
@stevengj stevengj merged commit 0a8526c into JuliaStrings:master Jan 3, 2024
12 checks passed
@stevengj
Copy link
Member

stevengj commented Jan 3, 2024

Thanks for working on this. Care to open up PRs for the FIXMEs?

@c42f
Copy link
Contributor Author

c42f commented Jan 4, 2024

Care to open up PRs for the FIXMEs?

Will do!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants