Skip to content

Commit

Permalink
chore(readme): fix typo and update language support
Browse files Browse the repository at this point in the history
- Fix a typo in the pronunciation of "Chapi" in the README.md file.
- Update the language support table to include C++ and Rust for syntax parsing.
- Update the language support table to include C and Scala for architecture/packages.
- Add a link to the Wikipedia page on first-class functions in the README.md file.
- Remove the `:chapi-ast-scala` dependency from the Goovy file.
- Add the `:chapi-ast-scala` dependency to the Goovy file.
- Add the `:chapi-ast-c` dependency to the Goovy file.
- Add a section on C issues in the README.md file.
- Add information on using macros in C code in the README.md file.
- Add a link to the jcpp library for C pre-processing in the README.md file.

Refs: [Tea if by sea, cha if by land](https://qz.com/1176962/map-how-the-word-tea-spread-over-land-and-sea-to-conquer-the-world/)

Language Family [wiki](https://en.wikipedia.org/wiki/First-class_function)
  • Loading branch information
phodal committed Feb 2, 2024
1 parent dfa0c0f commit 229a430
Showing 1 changed file with 9 additions and 29 deletions.
38 changes: 9 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@
Chapi => Cha Pi => Tea Pi => Tea π => 茶 π. See on in
refs: [Tea if by sea, cha if by land](https://qz.com/1176962/map-how-the-word-tea-spread-over-land-and-sea-to-conquer-the-world/).

Chapi (pronoounce /tʃɑpi/) also pronounce XP in Chinese if you always call X in 叉.
Chapi (pronounce /tʃɑpi/) also pronounce XP in Chinese if you always call X in 叉.

language stages:

| Features | Java | Python | Go | Kotlin | TS/JS | C | C# | Scala | C++ | Rust |
|---------------|------|--------|----|--------|-------|----|----|-------|-----|------|
| http api decl || 🆕 | 🆕 ||| 🆕 | 🆕 | | | 🆕 |
| syntax parse ||||||| 🆕 || ||
| http api decl || 🆕 | 🆕 ||| 🆕 | 🆕 | | | 🆕 |
| syntax parse ||||||| 🆕 || 🆕 ||
| function call || 🆕 | 🆕 ||| | | | ||
| arch/package || | ||| | ||| 🆕 |
| real world || | | 🆕 || | | | | |
Expand All @@ -47,6 +47,7 @@ language versions(tested):
- Rust: v1.60.0
- Python: 2, 3

```goovy
// tier 1 languages
":chapi-ast-java",
":chapi-ast-typescript",
Expand All @@ -55,13 +56,14 @@ language versions(tested):
":chapi-ast-kotlin",
":chapi-ast-go",
":chapi-ast-python",
":chapi-ast-scala",
// tier 3 languages
":chapi-ast-c",
":chapi-ast-rust",
":chapi-ast-csharp",
":chapi-ast-c",
":chapi-ast-scala",
":chapi-ast-cpp",
```

Language Family [wiki](https://en.wikipedia.org/wiki/First-class_function)

Expand Down Expand Up @@ -94,31 +96,9 @@ Algol Family [https://wiki.c2.com/?AlgolFamily](https://wiki.c2.com/?AlgolFamily
- import analysis support
- in C#, import `namespace` can use call in namespace

### C issue

2024.01.29: C Basic

Since Macro can be everywhere, If your code includes lots of Macro, it will be slow.
Test in Lua 5.3.5: with 17402 C line, 3298 C Header line.

For example:

```c
#if LUA_VERSION_NUM < 503
lua_pushnumber(L,
#else
lua_pushinteger(L,
#endif
(int64_t)c->p[8]);
mp_cur_consume(c,9);
break;
```
2024.02.01: C Macro
Todo: C need pre-process, so we need to use Macro to parse it, here is a library:
### C

- [https://github.com/shevek/jcpp](https://github.com/shevek/jcpp)
We use [https://github.com/shevek/jcpp](https://github.com/shevek/jcpp) to pre-process C code.

### Kotlin

Expand Down

0 comments on commit 229a430

Please sign in to comment.