joe-conigliaro
0aa9f5a007
all: optimize scope usage in checker & parser. store scope in ast nodes ( #7281 )
2020-12-12 19:01:12 +11:00
Daniel Däschle
47d0ed308d
parser: prepare for better VLS integration, more accurate parser errors ( #7119 )
2020-12-04 20:34:05 +02:00
Lukas Neubert
2691163a7e
scope: remove redundant name arg from register() ( #7077 )
2020-12-02 14:40:25 +01:00
Daniel Däschle
6af082e70e
doc: detailed documentation of the compiler pipeline ( #7043 )
2020-12-01 03:58:39 +01:00
ka-weihe
9367dcda10
all: fix remaining c warnings and add -Werror to CI ( #7021 )
2020-11-29 21:23:37 +02:00
Alexander Medvednikov
5e59718970
fmt: handle $tmpl
2020-11-26 18:53:38 +01:00
Alexander Medvednikov
5efd393af2
all: make comptime templates usable outside of vweb via $tmpl
2020-11-26 18:40:35 +01:00
Daniel Däschle
aa6303f0b2
all: use the new types with old syntax ( #6922 )
2020-11-24 13:58:29 +01:00
Delyan Angelov
2228d75657
ci: fix formatting of comptime.v
2020-11-21 19:04:31 +02:00
Delyan Angelov
fa55c247a2
parser: add `-d print_vweb_template_expansions` to ease vweb template debugging
2020-11-21 17:59:02 +02:00
Larpon
785bf40f67
all: remove comp time '@' expansion from scanner ( #6746 )
2020-11-05 10:12:32 +02:00
Delyan Angelov
9eb655e65c
all: add .pos fields to all AST nodes, to avoid wrong positions in error messages
2020-11-04 13:34:12 +02:00
Delyan Angelov
3c2202572b
cgen: produce cleaner error on missing C headers (with optional explanation) ( #6637 )
...
Implements support for `#include <openssl/rand.h> # Please install OpenSSL`.
2020-10-17 18:27:06 +03:00
Enzo
b083f4014b
fmt: fix multiple things and format most of the compiler ( #6631 )
...
Format expressions inside string interpolation like the rest (it used to be a+b instead of a + b, not too sure why)
Fix formatting some match branches when there were only one statement inside (it was inlined)
Fix parsing and formatting some comments edge case on struct field init. You should check out this test because the result is a bit different from before. I personally find it more logical but I would understand if the former format was to stay
Fix formatting of void-returning function signature
2020-10-15 22:12:59 +02:00
Swastik Baranwal
314fae7446
checker: add more checks for hash_stmt ( #6615 )
2020-10-15 11:58:01 +03:00
Delyan Angelov
dc954bbb03
all: use `macos` consistently in os.user_os and the compiler
2020-09-29 22:32:20 +03:00
spaceface777
ff92c3409d
ast: merge `IfExpr` and `CompIf` ( #6011 )
2020-09-18 00:58:54 +02:00
spaceface777
d663f57d43
parser: move flag logic to checker ( #6239 )
2020-08-28 09:24:04 +03:00
spaceface777
eff319f869
comp_for: allow checking full mehod and arg types ( #5997 )
2020-08-27 15:00:44 +02:00
Delyan Angelov
0fb8074353
cgen: add support for `$if gcc {}` too
2020-07-31 21:25:37 +03:00
Louis Schmieder
b58b15993c
gen: compile time for (methods and fields) ( #5957 )
2020-07-25 00:02:44 +02:00
Alexander Medvednikov
632e27a4a9
all: fix a big mutability bug and update all mutable vars
2020-07-23 23:16:36 +02:00
Louis Schmieder
b537d8e23e
parser: comp `for` attrs array ( #5903 )
2020-07-23 17:19:37 +02:00
pancake
36352085ae
v: add support for iOS crosscompilation ( #5943 )
2020-07-23 07:58:44 +03:00
Delyan Angelov
35df792c05
vfmt: fix `#include "@VROOT/path/x.h"`
2020-07-21 14:26:49 +03:00
Daniel Däschle
c5dc1a33b6
all: remove `it` smartcast and replace with original variable name ( #5764 )
2020-07-09 17:14:14 +02:00
Daniel Däschle
e7cd496c31
parser: smartcast fix ( #5756 )
2020-07-08 16:08:44 +02:00
Daniel Däschle
5ea17ad2d4
all: if smartcast part 2 ( #5754 )
2020-07-08 15:46:58 +02:00
Louis Schmieder
3bb1d24dad
parser: add template path by fn name for vweb ( #5737 )
2020-07-08 09:12:57 +03:00
Alexander Medvednikov
2281163efd
vweb: fix a routing bug
2020-07-03 17:50:48 +02:00
Alexander Medvednikov
b7175b54eb
vweb: ['/:arg1/:arg2/action'] attribute
2020-07-03 15:10:39 +02:00
Delyan Angelov
78e1127d99
cgen: treat the main module like any other v module
2020-07-01 00:53:53 +02:00
Alexander Medvednikov
db28796b5f
orm: handle bool literals for older sqlite versions
2020-06-23 14:07:39 +02:00
Alexander Medvednikov
011e26ca9a
checker: check sum types in `match`; cross compilation fixes; orm fixes
2020-06-21 23:09:53 +02:00
joe-conigliaro
ddd83f1fc6
checker: error if variable used before declaration
2020-06-20 12:42:08 +10:00
Ned Palacios
5ff7d07138
vdoc: fix sorting + other minor improvements
2020-06-19 10:36:45 +02:00
spaceface777
68967e833d
parser: skip comp_if when building for a different compiler
2020-06-18 22:01:00 +02:00
Alexander Medvednikov
a2d7bc6e6f
vweb: look for html templates in `templates/`
2020-06-10 18:00:11 +02:00
joe-conigliaro
3664bea912
vweb/checker: show tmpl var errors
2020-06-10 02:47:51 +10:00
Alexander Medvednikov
b3e416fb52
vweb: fix duplicate fn error with multiple templates
2020-06-09 12:43:20 +02:00
joe-conigliaro
2799a6f065
parser/checker: fix global lookup
2020-06-09 17:08:11 +10:00
Alexander Medvednikov
931cf86cc3
tests: build vweb example
2020-06-07 15:44:33 +02:00
joe-conigliaro
70c18fc7b2
vweb: tmpl access to action method vars
2020-06-07 21:26:47 +10:00
joe-conigliaro
1c2bf7b244
vweb: impl of comptime tmpl parsing (fix vweb_example)
2020-06-07 20:26:45 +10:00
Alexander Medvednikov
d62d0c40d2
parser: fix typo
2020-06-06 21:36:55 +02:00
Alexander Medvednikov
4d5ac1e16d
vweb: $html
2020-06-06 21:36:34 +02:00
Alexander Medvednikov
7815c5b108
cgen: $action (ComptimeCall); vweb: hello world works!
2020-06-06 10:05:26 +02:00
Delyan Angelov
86862d6a94
checker: remove mod_file_cacher exception
2020-06-01 17:43:03 +03:00
pancake
1d78914a8f
parser: support @VROOT in #include too, make it use absolute paths
2020-05-28 19:36:04 +03:00
Leah Lundqvist
1d0ebfb691
jsgen: add hash statement
2020-05-28 14:38:10 +02:00
Delyan Angelov
f6bdb3ae81
v.vmod: cleanup vmod.mod_file_cacher API
2020-05-28 01:38:11 +03:00
Alexander Medvednikov
7c9279c447
vfmt: make work with comptime
2020-05-27 03:33:40 +02:00
Alexander Medvednikov
6f7628cb67
parser: comptime call fixes
2020-05-27 03:20:25 +02:00
Alexander Medvednikov
f41e2c0a4b
string: make replace() clone for now; parser: comptime method
2020-05-25 08:17:36 +02:00
Alexander Medvednikov
1ef8eacd6e
checker/gen: more generics fixes; ComptimeCall
2020-05-25 05:32:36 +02:00
yuyi
2f52106253
parser: use .next instead of .check, when a token is already known
2020-05-07 07:51:36 +03:00
Delyan Angelov
e67bf674e3
scanner: cleanup, only v.parser now depends on v.scanner
2020-04-27 16:08:04 +03:00
Alexander Medvednikov
3ab8dc0092
parser: array init: `[]string` => `[]string{}`
2020-04-26 09:17:17 +02:00
Enzo Baldisserri
fb54a2635c
fmt: lots of fixes
2020-04-25 17:49:16 +02:00
Delyan Angelov
8be10ffbd6
vfmt: always walk over all comptime branches
2020-04-24 19:05:55 +03:00
Delyan Angelov
863fab0268
comptime: enable again skipping parsing of other platform branches
2020-04-24 08:51:48 +03:00
Delyan Angelov
6b31ebe456
Revert "comptime: enable again skipping parsing of other platform branches"
...
This reverts commit 0f4c5fb1c9
.
2020-04-23 22:47:16 +03:00
Delyan Angelov
0f4c5fb1c9
comptime: enable again skipping parsing of other platform branches
2020-04-23 20:45:16 +03:00
Delyan Angelov
adb8fb1dc6
comptime: fix custom -d flags and `$if x? {}`. Fixes ftp_test.v .
2020-04-23 17:52:44 +03:00
Kris Cherven
d871595437
all: replace `var` with `mut`
2020-04-23 01:16:58 +02:00
Delyan Angelov
8a1248b2e7
builder: restore module import cycle detection/topological reorder
2020-04-16 12:29:36 +03:00
Delyan Angelov
60d6543733
comptime: support @VROOT again
2020-04-10 13:02:00 +03:00
Alexander Medvednikov
d5fb68e3d6
vfmt: fix struct init; run on struct_test.v
2020-04-10 00:36:50 +02:00
Alexander Medvednikov
9b2511133d
vfmt: lots of fixes; cmd/v: -keepc;
2020-04-10 00:30:43 +02:00
Alexander Medvednikov
6ac64c8586
parser: register #flags
2020-04-09 16:39:53 +02:00
Alexander Medvednikov
be014fcdd6
checker: << check; initial #flag os support
2020-04-06 02:05:11 +02:00
Alexander Medvednikov
956bf23390
memory fixes: 21% of V compiler leaks fixed
2020-03-31 14:33:16 +02:00
Alexander Medvednikov
473d9fef55
checker: do not allow extra () in if conditions
2020-03-27 14:57:19 +01:00
Alexander Medvednikov
1a751208ca
cgen: skip $if os {} block
2020-03-27 14:44:30 +01:00
Joe Conigliaro
076bc2b773
cgen/checker: fixes & fixes & tmp fixes :D
2020-03-23 02:22:49 +11:00
Alexander Medvednikov
ce73ced932
cgen: #else
2020-03-22 14:54:31 +01:00
Alexander Medvednikov
c2ce06eba7
cgen: generate #ifdefs
2020-03-22 13:55:39 +01:00
Alexander Medvednikov
7b689d8c52
ast: CompIf position
2020-03-22 11:53:08 +01:00
Alexander Medvednikov
ab3f6d9202
cgen: generate indents for more readable C code
2020-03-22 10:12:45 +01:00
Alexander Medvednikov
1dd6491a2f
v2: more parser fixes
2020-02-17 14:15:49 +01:00
Alexander Medvednikov
c9f619dc72
v2: parse `filter()`
2020-02-10 14:42:57 +01:00