Commit Graph

237 Commits (908296cdfb7cb4bf407c1a3d7283119c57e456ab)

Author SHA1 Message Date
Delyan Angelov df8384b62e
v.scanner: report the start of unfinished string literals too 2021-12-30 18:29:52 +02:00
Alexander Medvednikov 6176ce9f03 all: c2v fixes 2021-12-28 08:00:56 +03:00
penguindark 278c08704c
all: support slices with negative indexes `#[start..end]` (gated arrays) (#12914) 2021-12-22 16:34:02 +03:00
joe-conigliaro 07cf6d9f96
parser/scanner: make codegen impl use own parser. closes #12857 (#12925) 2021-12-21 19:48:06 +02:00
Delyan Angelov b3287f8159
Revert "v.scanner: reduce memory consumption for Scanner.ident_name"
This reverts commit b18cd37e59.
2021-12-11 17:10:01 +02:00
Delyan Angelov b18cd37e59
v.scanner: reduce memory consumption for Scanner.ident_name 2021-12-11 16:38:20 +02:00
Delyan Angelov 1c12186701
v.token,ast,scanner,parser: use a KeywordsMatcher lookup for builtin_type_names searches too 2021-11-07 16:39:40 +02:00
Delyan Angelov 6937074e7a
strings,builder: reduce V cgen and parser memory consumption, fix strings.Builder leak (#12342) 2021-10-31 12:58:55 +02:00
Delyan Angelov 3d800b12e8
scanner: small optimisation of the ident_name hot loop 2021-10-29 16:18:34 +03:00
Delyan Angelov 99e71d0868
scanner: preallocate space for tokens to reduce the number of allocations in the hot loop 2021-10-28 16:23:24 +03:00
Delyan Angelov 8014235e0e
scanner: speed up text_scan by using a specialised keywords matcher, instead of a generic V map of keywords 2021-10-28 15:41:13 +03:00
Delyan Angelov f79bc8619a
scanner: remove unused .line_ends field 2021-10-27 22:37:00 +03:00
Ruofan XU 834cf40ab2
cgen, fmt, scanner: fix and use nested lambda in scanner (#11967) 2021-09-24 18:21:22 +03:00
Ruofan XU 52b53f17b2
scanner: clean up scanning of `>` (#11943) 2021-09-23 02:24:23 +03:00
ChAoS_UnItY 95136cbfc7
all: add unsigned shift operators (#11536) 2021-09-21 14:02:17 +03:00
Ruofan XU 1430ebc5e3
scanner: cleanup scanning of `>` (#11558) 2021-09-21 00:57:05 +03:00
Ruofan XU b343f19bec
v.scanner: fix ambiguity of two-level generics and shift-right (#11540) 2021-09-19 16:22:28 +03:00
Ruofan XU 9180647f99
scanner, fmt: fix multi-level generics (#11517) 2021-09-17 21:44:31 +03:00
Enzo 79c2bca401
v.scanner: fix error messages with unexpected token `?` (#11428) 2021-09-07 20:46:56 +03:00
Ned Palacios aedb6b8e84
v.builder: implement a `-check` mode, that runs only the parser + the checker, without codegen (#11414) 2021-09-07 07:17:53 +03:00
William Gooch 4d5521bbf7
scanner: clarify the float literal warning (#11313) 2021-08-27 16:49:29 +03:00
Alexander Medvednikov 714fa3215c scanner: make the 1. float error a warning for now 2021-08-25 16:58:54 +03:00
yuyi 4d078edb72
scanner: no longer allow `1.` float literals (#11301) 2021-08-25 14:39:37 +03:00
Leo Developer b3094b0667
checker: abort prematurely on too many errors (#11185) 2021-08-15 13:41:51 +03:00
Leo Developer 8a8a0932f7
all: add limit to accumulated errors / warnings (#11183) 2021-08-14 19:49:21 +03:00
Daniel Däschle 2ae77c1998
v.scanner: fix escaped backslash after string interpolation (#11118) 2021-08-10 17:04:42 +03:00
zakuro 490dec222f
fmt: keep char literal, `'` (#11060) 2021-08-06 06:21:28 +03:00
Daniel Däschle a09324faa9
scanner: remove pos 0 hack which is no longer needed (#10935) 2021-07-25 01:13:07 +03:00
Delyan Angelov 9ffbda3833
v.scanner: improve error diagnostic when scanner's file_path is not a file 2021-07-24 13:32:55 +03:00
Daniel Däschle ed234188b7
scanner: fix single backslash in raw string (#10890) 2021-07-22 17:02:11 +03:00
shadowninja55 0d587d3580
checker: prohibit using non-lvalue as mut receiver (#10790) 2021-07-16 13:03:40 +03:00
yuyi 719bf63f16
scanner: fix nested multiline comments (#10760) 2021-07-12 07:17:38 +03:00
Delyan Angelov 1e6230a441
v.scanner: use mathutil instead of `mu` (easier to search) 2021-07-06 13:06:19 +03:00
Delyan Angelov 54f6dc70c3
v.util: add Timers.show_remaining/0, use it in v.builder.compile/2 2021-07-06 13:06:11 +03:00
Delyan Angelov 972542d6ee
checker: `[noreturn]` part 2 (cleanup) (#10667) 2021-07-05 05:05:37 +03:00
shadowninja55 da9c75f2ca
checker: string != IError (#10665) 2021-07-05 05:05:08 +03:00
Flinner 1486258591
strconv: fix `atoi` returning 0 on large strings (#10635) 2021-07-02 10:39:57 +03:00
Daniel Däschle 3881e97a40
vlib: remove ustring usage (#10618) 2021-06-30 22:30:28 +03:00
Uwe Krüger 60c880a0cc
vlib: use `malloc_noscan()` where possible (#10465) 2021-06-15 14:47:11 +03:00
crthpl 4273a9697e
parser: add support for flags in asm output constraints (#10103) 2021-05-14 12:01:15 +03:00
Delyan Angelov 84f9789e72
v: tag more low level functions with `[direct_array_access]` 2021-05-06 00:35:16 +03:00
Delyan Angelov 3405f517a4
v.scanner: apply `[direct_array_access]` for key frequently called low level functions 2021-05-05 23:45:23 +03:00
Delyan Angelov 597a774d36
scanner: speed up Scanner.skip_whitespace (~2-3% speed up of `-o x.c cmd/v`) 2021-05-03 14:14:32 +03:00
Lukas Neubert b2c16ced57
parser: filter out vet space indent errors inside StringInterLiterals (#9695) 2021-04-12 16:03:22 +03:00
Lukas Neubert 46e7e27ba3
v vet: give an error for trailing whitespace (#9574) 2021-04-09 13:22:14 +03:00
Lukas Neubert a0648a3ec2
all: fixes related to Node.pos (#9613) 2021-04-06 15:16:19 +02:00
Ned Palacios b9cbb4f177
scanner: fix eof token position (#9432) 2021-03-23 08:51:09 +01:00
Ned Palacios aa4e22c287
scanner, token: add column information to tokens (#9407) 2021-03-23 06:23:46 +01:00
Delyan Angelov a00c80b98f
v: support compiler notices. Use them for `[deprecated_after: '2021-05-01']` tags
Compiler notices are like warnings, with these differences:
   a) notices use a different color.
   b) notices use a different label.
   c) notices do not prevent compilation with -prod.
   (warnings are converted to errors with -prod)
2021-03-22 19:59:00 +02:00
Delyan Angelov c76c69ec35
all: simplify `return if ...` constructs to make more code compatible with -autofree 2021-03-22 16:45:29 +02:00