asc-community / asc-community/AngouriMath
Unicode Stringize and parsing
- Dominant language
- C#
- Stars
- 831
- Forks
- 79
- Avg merge
- 3h 23m
- Merged PRs (30d)
- 309
Description
The current Stringize restricts to ASCII which is easy to edit on a keyboard. However if the output is intended for text display it may be desirable to add a flag to use the full Unicode range. The parser will need to recognize these Unicode outputs and parse unambiguously. For exponentiation, if the superscripts or subscripts can represent the content whole then it is desirable to write `^2` as `²` and `_2` as `₂`, otherwise for nested powers `^` and `_` should be kept. However for the final nesting level Unicode superscripts and subscripts are still to be used.
https://unicodemath.org/ may be relevant here. Some nuances like implicit multiplication binding stronger than exponentiation also needs in depth consideration - this may also change normal parsing. We may still want `/` to be explicitly division (as well as all the presentation focused syntax whereas we have logical nodes), so UnicodeMath parsing and output may be a separate entry point (do we want this at all?) but some ideas still apply to stringize using full unicode range.
Contributor guide
Research direction
Start by tracing the current Stringize implementation and parser entry points to understand the existing ASCII output and parsing rules. Review unicodemath.org for relevant UnicodeMath conventions, then determine whether Unicode output and parsing should be separate entry points. Done means the scope and handling of superscripts, subscripts, exponentiation, implicit multiplication, and division are specified and implemented unambiguously.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100