mt-lang 0.3.17 → 0.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/lib/milk_tea/base.rb +1 -1
  3. data/lib/milk_tea/core/c_backend/expressions.rb +34 -23
  4. data/lib/milk_tea/core/c_backend/feature_detection.rb +25 -45
  5. data/lib/milk_tea/core/c_backend/type_collectors.rb +18 -30
  6. data/lib/milk_tea/core/c_backend/type_declaration.rb +0 -6
  7. data/lib/milk_tea/core/c_backend.rb +49 -39
  8. data/lib/milk_tea/core/compile_time.rb +98 -72
  9. data/lib/milk_tea/core/intrinsics.rb +7 -0
  10. data/lib/milk_tea/core/lexer.rb +46 -35
  11. data/lib/milk_tea/core/lowering/block.rb +9 -0
  12. data/lib/milk_tea/core/lowering/calls.rb +2 -0
  13. data/lib/milk_tea/core/lowering/declarations.rb +1 -1
  14. data/lib/milk_tea/core/lowering/functions.rb +11 -8
  15. data/lib/milk_tea/core/lowering/resolve.rb +10 -3
  16. data/lib/milk_tea/core/lowering/scans.rb +13 -18
  17. data/lib/milk_tea/core/module_binder.rb +9 -10
  18. data/lib/milk_tea/core/module_loader.rb +38 -42
  19. data/lib/milk_tea/core/module_path_resolver.rb +1 -4
  20. data/lib/milk_tea/core/parser/declarations.rb +43 -19
  21. data/lib/milk_tea/core/parser/expressions.rb +4 -7
  22. data/lib/milk_tea/core/parser/statements.rb +5 -5
  23. data/lib/milk_tea/core/parser.rb +26 -0
  24. data/lib/milk_tea/core/semantic_analyzer/calls.rb +24 -31
  25. data/lib/milk_tea/core/semantic_analyzer/expressions.rb +20 -23
  26. data/lib/milk_tea/core/semantic_analyzer/name_resolution.rb +117 -85
  27. data/lib/milk_tea/core/semantic_analyzer/statements.rb +19 -41
  28. data/lib/milk_tea/core/semantic_analyzer.rb +56 -37
  29. data/lib/milk_tea/lsp/server/semantic_tokens.rb +6 -0
  30. data/lib/milk_tea/tooling/cli/commands/bindgen.rb +11 -0
  31. data/lib/milk_tea/tooling/cli/commands/build.rb +37 -0
  32. data/lib/milk_tea/tooling/cli/commands/cache.rb +46 -0
  33. data/lib/milk_tea/tooling/cli/commands/check.rb +116 -0
  34. data/lib/milk_tea/tooling/cli/commands/command_base.rb +8 -0
  35. data/lib/milk_tea/tooling/cli/commands/completions.rb +48 -0
  36. data/lib/milk_tea/tooling/cli/commands/dap.rb +58 -0
  37. data/lib/milk_tea/tooling/cli/commands/debug.rb +77 -0
  38. data/lib/milk_tea/tooling/cli/commands/deps.rb +17 -0
  39. data/lib/milk_tea/tooling/cli/commands/docs.rb +58 -0
  40. data/lib/milk_tea/tooling/cli/commands/emit_c.rb +64 -0
  41. data/lib/milk_tea/tooling/cli/commands/format.rb +199 -0
  42. data/lib/milk_tea/tooling/cli/commands/lex.rb +46 -0
  43. data/lib/milk_tea/tooling/cli/commands/lint.rb +248 -0
  44. data/lib/milk_tea/tooling/cli/commands/lower.rb +50 -0
  45. data/lib/milk_tea/tooling/cli/commands/lsp.rb +43 -0
  46. data/lib/milk_tea/tooling/cli/commands/new.rb +26 -0
  47. data/lib/milk_tea/tooling/cli/commands/parse.rb +51 -0
  48. data/lib/milk_tea/tooling/cli/commands/run.rb +99 -0
  49. data/lib/milk_tea/tooling/cli/commands/snapshot.rb +117 -0
  50. data/lib/milk_tea/tooling/cli/commands/test.rb +557 -0
  51. data/lib/milk_tea/tooling/cli/commands/toolchain.rb +16 -0
  52. data/lib/milk_tea/tooling/cli.rb +101 -1893
  53. metadata +24 -2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mt-lang
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.17
4
+ version: 0.3.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Long (Teefan) Tran
@@ -362,6 +362,28 @@ files:
362
362
  - lib/milk_tea/tooling/build.rb
363
363
  - lib/milk_tea/tooling/build_cache.rb
364
364
  - lib/milk_tea/tooling/cli.rb
365
+ - lib/milk_tea/tooling/cli/commands/bindgen.rb
366
+ - lib/milk_tea/tooling/cli/commands/build.rb
367
+ - lib/milk_tea/tooling/cli/commands/cache.rb
368
+ - lib/milk_tea/tooling/cli/commands/check.rb
369
+ - lib/milk_tea/tooling/cli/commands/command_base.rb
370
+ - lib/milk_tea/tooling/cli/commands/completions.rb
371
+ - lib/milk_tea/tooling/cli/commands/dap.rb
372
+ - lib/milk_tea/tooling/cli/commands/debug.rb
373
+ - lib/milk_tea/tooling/cli/commands/deps.rb
374
+ - lib/milk_tea/tooling/cli/commands/docs.rb
375
+ - lib/milk_tea/tooling/cli/commands/emit_c.rb
376
+ - lib/milk_tea/tooling/cli/commands/format.rb
377
+ - lib/milk_tea/tooling/cli/commands/lex.rb
378
+ - lib/milk_tea/tooling/cli/commands/lint.rb
379
+ - lib/milk_tea/tooling/cli/commands/lower.rb
380
+ - lib/milk_tea/tooling/cli/commands/lsp.rb
381
+ - lib/milk_tea/tooling/cli/commands/new.rb
382
+ - lib/milk_tea/tooling/cli/commands/parse.rb
383
+ - lib/milk_tea/tooling/cli/commands/run.rb
384
+ - lib/milk_tea/tooling/cli/commands/snapshot.rb
385
+ - lib/milk_tea/tooling/cli/commands/test.rb
386
+ - lib/milk_tea/tooling/cli/commands/toolchain.rb
365
387
  - lib/milk_tea/tooling/cst_formatter.rb
366
388
  - lib/milk_tea/tooling/debug_info_formatter.rb
367
389
  - lib/milk_tea/tooling/debug_map.rb
@@ -603,7 +625,7 @@ metadata:
603
625
  homepage_uri: https://teefan.github.io/mt-lang/
604
626
  source_code_uri: https://github.com/teefan/mt-lang
605
627
  post_install_message: |
606
- Milk Tea 0.3.17 installed!
628
+ Milk Tea 0.3.20 installed!
607
629
 
608
630
  System requirements:
609
631
  - A C compiler (gcc or clang) must be available on PATH