Delyan Angelov
37aff9b107
hot reload: no -sanitize is needed anymore, -live is now enough on both Linux and MacOS X
...
* hot reload for GL programs: force the main executable (the shared library loader) to be build with -rdynamic flag, when -live is passed to v compiler.
* hot reload: optimize away a redundant load_so/0 call at the start of the reload_so thread.
* hot code reload for MacOSX requires -flat_namespace flag instead of -rdynamic (on linux).
2019-07-15 17:32:00 +02:00
Alexander Medvednikov
7c6f59afa6
FreeBSD support
2019-07-15 17:24:44 +02:00
d2verb
4020a3ab8c
Prevent main function form returning value
2019-07-15 17:19:24 +02:00
d2verb
40ad868f22
Fix #1107
2019-07-15 16:30:06 +02:00
Henrixounez
48c06df5f5
parser: fix bug not printing percentages
2019-07-15 14:26:39 +02:00
d2verb
916b13b286
fix maps
2019-07-15 12:33:18 +02:00
Delyan Angelov
0556f5fd4e
When compiling with -shared (a step in compiling with -live), store the C intermediary file in a different file than main (loader) file, so that debugging symbol lookup information is correct (the files are not replaced constantly with each other).
2019-07-15 12:30:03 +02:00
Delyan Angelov
60ad97c4fb
fix hot code reloading for GUI example bounce on linux: works when compiled with 'v -live -sanitize bounce.v' .
...
It crashes with SIGSEGV, when -sanitize is not given.
Also thirdparty/glad/glad.o should be build with -fPIC .
2019-07-15 12:28:35 +02:00
Alexander Medvednikov
f7dbbf5810
re-write map.v and update the compiler
2019-07-14 22:08:17 +02:00
hazohelet
441281dd4f
parser: fix small typo
2019-07-14 16:48:57 +02:00
Alexander Medvednikov
48f841bb26
make enums defined in other modules work
2019-07-14 00:10:53 +02:00
joe-conigliaro
b4afa964fc
hash/crc32
2019-07-13 15:11:32 +02:00
Nick Treleaven
cec3ea5b4d
Document v -lib
and don't advertise --help
long option
...
--help and --version are accepted, but these don't fit the `-option`
format of V's other options. To avoid confusion, don't mention them.
2019-07-13 14:54:31 +02:00
d2verb
2811145437
Add enum_test.v
2019-07-13 12:19:57 +02:00
joe-conigliaro
298ca8676f
Change import syntax to "import as alias"
2019-07-13 12:15:16 +02:00
aguspiza
d0e7d0070d
fix travis windows user home
2019-07-12 20:35:01 +02:00
hazohelet
2a0d8072c1
delete unnecessary lines
2019-07-12 15:46:15 +02:00
joe-conigliaro
9a957ccc18
module aliasing & file import scope
2019-07-12 07:37:54 +02:00
Alexander Medvednikov
56b7c9e35f
for key, val in map syntax
2019-07-12 07:27:30 +02:00
hazohelet
b039538a27
parser: fix if expressions with multiple else if's
2019-07-12 06:54:01 +02:00
Alexander Medvednikov
5b3295db94
remove # from gg and glm
2019-07-12 06:50:25 +02:00
hazohelet
e15c2da1f4
enable else-if expression
2019-07-12 06:04:37 +02:00
Alexander Medvednikov
22b41c7873
V 0.1.14
2019-07-12 05:23:00 +02:00
hazohelet
560ba55572
enable consts with operators in scripts
2019-07-12 04:53:51 +02:00
Alexander Medvednikov
f834644db4
make gg work on Windows; prebuild glad and cJSON; new ft module
2019-07-12 04:50:14 +02:00
Alexander Medvednikov
da51fea605
fix disappearing printf when compiling with
2019-07-10 22:07:56 +02:00
Alexander Medvednikov
4a8ba9756f
disable u32 check for now
2019-07-10 22:05:50 +02:00
Alexander Medvednikov
9efe305093
fix Linux build
2019-07-10 21:57:15 +02:00
Alexander Medvednikov
3d4cd0bbc0
check integer const overflow at compilation
2019-07-10 21:22:03 +02:00
Alexander Medvednikov
1b09e37a80
fix typ_to_fmt()
2019-07-10 14:38:39 +02:00
Alexander Medvednikov
c8fc262da3
println: make aliases printable
2019-07-10 14:26:37 +02:00
Alexander Medvednikov
fba8443f30
allow defining methods on aliases
2019-07-10 14:18:21 +02:00
Alexander Medvednikov
9907f07602
fix the __ error message
2019-07-10 10:08:37 +02:00
Alexander Medvednikov
28843a12c7
cache string.hash()
2019-07-10 10:00:12 +02:00
Alexander Medvednikov
e1ddac1590
utf8: remove unused UTF8_CHAR_LEN macro and add a simple utf8 test
2019-07-10 09:07:04 +02:00
Alexander Medvednikov
68228f9977
parser: clean up submodule implementation a bit
2019-07-10 09:02:04 +02:00
Alexander Medvednikov
87762d6cf3
DOT => .dot
2019-07-10 02:07:54 +02:00
Alexander Medvednikov
c44d54fb4c
V 0.1.13
2019-07-10 02:03:09 +02:00
Alexander Medvednikov
26ef99293d
new enum syntax; update the compiler (p.tok == .name
)
2019-07-10 02:02:38 +02:00
Henrixounez
26af513e1b
repl: remove void line for unused and compile as repl
2019-07-09 20:55:37 +02:00
Delyan Angelov
932f6d1bef
Fix hot code reloading on linux
2019-07-09 20:54:23 +02:00
Henrixounez
7b1be8a2bd
CI: Add back erased commits and dont test hot code examples
2019-07-09 20:44:30 +02:00
Alexander Medvednikov
045d480c8c
clean up the examples a bit
2019-07-07 22:09:08 +02:00
Alexander Medvednikov
7fed451226
inotify TODO
2019-07-07 22:04:41 +02:00
Alexander Medvednikov
de8dc4cddb
hot code reloading examples
2019-07-07 22:02:27 +02:00
Nick Treleaven
af19aa5096
Fix #1021 - Optional or
branch doesn't define err
2019-07-07 01:24:36 +02:00
joe-conigliaro
8a2d25247f
submodules
2019-07-07 01:22:47 +02:00
aguspiza
36908fa304
fix for #1020
2019-07-07 01:20:56 +02:00
Alexander Medvednikov
59796a4168
small REPL fixes
2019-07-06 15:39:26 +02:00
Shivanjan Chakravorty
f630d3f342
main: vrepl interactive shell update
2019-07-06 12:07:44 +02:00
Henrixounez
28c2a949b2
compiler: fix errors on dots methods
2019-07-06 12:02:18 +02:00
hazohelet
204bcee951
fix typo
2019-07-06 12:01:58 +02:00
Alexander Medvednikov
68b7ae26b3
fix tests
2019-07-05 22:12:06 +02:00
Alexander Medvednikov
8d407cec90
another Windows \r\n bug fix
2019-07-05 22:07:44 +02:00
Alexander Medvednikov
871fb3831a
do not allow fn main() to return a value
2019-07-05 22:03:00 +02:00
Alexander Medvednikov
d47e2f113f
Revert "make function arguments immutable"
...
This reverts commit 0f0ed8d716
.
2019-07-05 02:44:22 +02:00
Alexander Medvednikov
0f0ed8d716
make function arguments immutable
2019-07-05 00:24:13 +02:00
Alexander Medvednikov
74dbb1bce3
interface: fix function is private bug
2019-07-04 23:30:11 +02:00
Alexander Medvednikov
92528205c1
minor fixes
2019-07-04 22:39:15 +02:00
Alexander Medvednikov
cc77d8cdd2
fix Windows line ending bug
2019-07-04 21:55:29 +02:00
Alexander Medvednikov
9b0bb2f72c
make.bat for easier compilation on Windows
2019-07-04 20:44:44 +02:00
Alexander Medvednikov
300ed59598
do not allow import builtin
2019-07-04 17:36:53 +02:00
Alexander Medvednikov
8f10e37370
make << work with appending arrays; PostgreSQL driver
2019-07-04 17:31:14 +02:00
Cytown
fbe8f6c774
fix array initial with [0.0/f32/f64; length] compile error
...
solution: add array_f32/array_f64 type
Signed-off-by: Cytown <cytown@gmail.com>
2019-07-04 13:01:51 +02:00
Alexander Medvednikov
68ed555e91
V 0.1.12
2019-07-04 02:21:27 +02:00
marco
155e1fa961
FIX #202
...
allow interface method with empty (void) return type
-> only look for type declaration if no new line has been
while skipping whitespace
2019-07-04 01:04:10 +02:00
Alexander Medvednikov
7fdd94fcbb
println: fix a bug with u64 etc and newlines
2019-07-04 00:54:40 +02:00
Alexander Medvednikov
1e32a4cec4
println: optimize and remove memory leaks
2019-07-04 00:40:30 +02:00
Alexander Medvednikov
5d4d3b838b
StringsBuilder => strings.Builder; strings.repeat()
2019-07-03 22:18:46 +02:00
Alexander Medvednikov
8c36b9499d
make json work with new optionals
2019-07-03 21:50:06 +02:00
Alexander Medvednikov
dec0d961f5
os: clean up file functions, use optionals
2019-07-03 21:37:12 +02:00
Ivan Sharavuev
290e1df893
Move token string length from magic number to constant.
2019-07-03 18:58:50 +02:00
Alexander Medvednikov
d9753ee2c6
lots of vfmt fixes
2019-07-03 16:37:21 +02:00
Zaoqi
015467778d
Update .gitignore
2019-07-03 16:12:37 +02:00
Justice Suh
a25c4bb59f
compiler: add debug flag
2019-07-03 16:10:21 +02:00
AtjonTV
ab20db8e6e
look for modules in current path
2019-07-02 21:55:57 +02:00
Alexander Medvednikov
1bbf3a3a0c
make compiler
2019-07-02 21:45:51 +02:00
Alexander Medvednikov
a9b8bc067f
enums (mode == .default_mode
syntax); fix foo.bar[0].baz = val
2019-07-02 21:39:26 +02:00
joe-conigliaro
4ed67fbe7e
implement get_line & get_raw_line for windows + REPL
2019-07-02 16:39:40 +02:00
yep84
b57d227aa0
Allow to parse uppercase hex number
2019-07-02 15:03:01 +02:00
jiro4989
30633ff14f
Fix "Nested comments won't compile" ( #908 )
2019-07-02 02:19:15 +02:00
Henrixounez
dc8c84a2a8
compiler: tmp variables on scripts inside generated main function
2019-07-01 23:42:09 +02:00
yep84
2ca9866f86
Handle --version arg as it already do for help
2019-07-01 22:04:28 +02:00
d2verb
e27a3b65f1
Fix #898
2019-07-01 20:56:31 +02:00
Alexander Medvednikov
d09758f723
fix a typo
2019-07-01 17:29:29 +02:00
Alexander Medvednikov
6ddc57c190
fix cc_windows_cross()
2019-07-01 17:23:30 +02:00
Maulana Akmal
24b0fd5097
Refactor BuildMode enum to lowercase
2019-07-01 17:20:59 +02:00
Alexander Medvednikov
4c3f1386ef
V 0.1.11
2019-07-01 16:53:54 +02:00
Alexander Medvednikov
99a9a6572a
lots of Windows fixes and cross compilation for Windows
2019-07-01 16:51:17 +02:00
Zaoqi
00174cdb83
fix #872
2019-07-01 10:46:42 +02:00
Alexander Medvednikov
5936ab16c8
fix maps; use maps for storing functions; verify struct initialization
2019-07-01 02:24:39 +02:00
Archan Patkar
74d234f8cd
remove duplication by using a new Preferences struct
2019-06-30 22:03:17 +02:00
Alexander Medvednikov
9062338cb4
fix compilation
2019-06-30 20:48:26 +02:00
Alexander Medvednikov
61b51f6149
os.File clean up + socket.v (dial())
2019-06-30 20:28:50 +02:00
Zaoqi
5bd188edad
Update main.v
2019-06-30 15:34:28 +02:00
Alexander Medvednikov
820aa3d3b3
os: remove os_mac.v and os_win.v, fix os.ls() on Windows
2019-06-30 14:57:27 +02:00
Alexander Medvednikov
b0c844415d
time.ticks() on Linux/macOS
2019-06-30 14:48:13 +02:00
Zaoqi
437b32fe78
fmt: id []typ
2019-06-30 13:06:45 +02:00
bitsnaps
067f131b53
remove unnecessary println
...
comment out unnecessary println for interface.
2019-06-30 11:51:34 +02:00
Alexander Medvednikov
159990132f
fix v run .
on Windows
2019-06-29 23:41:12 +02:00
Alexander Medvednikov
a2b80d5b3d
REPL: exit
to exit
2019-06-29 22:56:23 +02:00
Alexander Medvednikov
acaa19054b
V 0.1.10
2019-06-29 21:51:25 +02:00
Alexander Medvednikov
1bcf94f7f4
Windows: another \r\n fix
2019-06-29 21:31:13 +02:00
Alexander Medvednikov
18525922fd
Windows fixes
2019-06-29 21:26:39 +02:00
lutherwenxu
4b3b69ab15
gitignore: Add gitignore to the build location
...
This commit moved gitignore to the build location
2019-06-29 16:45:05 +02:00
Alexander Medvednikov
08c8b4ba22
V 0.1.9
2019-06-29 13:11:15 +02:00
Alexander Medvednikov
5b7a1e84a4
move Makefile to root
2019-06-29 12:54:57 +02:00
Alexander Medvednikov
761ba17018
move compiler tests to compiler/
2019-06-29 12:10:19 +02:00
Alexander Medvednikov
4594d78bd6
move all vlib modules to vlib/
2019-06-29 12:00:31 +02:00
Alexander Medvednikov
bdcbcb075b
make test: test V prod build
2019-06-29 11:45:30 +02:00
Alexander Medvednikov
249fa95eab
Revert 'compiler: allow mut passed as argument to be modified'. This broke
2019-06-29 11:42:47 +02:00
Alexander Medvednikov
37e2da9d23
exit REPL on Windows
2019-06-28 21:28:55 +02:00
Alexander Medvednikov
2a2b402277
$if fix
2019-06-28 21:28:03 +02:00
Alexander Medvednikov
1bcccf0d1e
make V compilable on Windows with mingw-w64
2019-06-28 21:24:51 +02:00
Henrixounez
d8caa6431f
compiler: checks if variables are unused on scripts main function
2019-06-28 21:05:04 +02:00
Henrixounez
165dfe5fe0
compiler: allow mut passed as argument to be modified
2019-06-28 20:15:49 +02:00
Henrixounez
b6b313d246
compiler: clears MainFn when recompile on repl
2019-06-28 17:24:18 +02:00
Henrixounez
748c45203d
compiler: add EOF checks in scanner to prevent panic exits
...
swap s.text[s.pos + 1] to nextc
2019-06-28 17:14:47 +02:00
Alexander Medvednikov
56608dfd2b
remove #ifdef, #ifndef, etc
2019-06-28 17:07:03 +02:00
Henrixounez
0026b228c3
scanner: fix on single letter variable declaration on first line
2019-06-28 16:22:23 +02:00
Alexander Medvednikov
b81f615a75
parser.v: string interpolation for pointers
2019-06-28 15:56:07 +02:00
Zaoqi
4cd48a6e18
Update main.v: fix typos ( #753 )
2019-06-28 15:47:38 +02:00
shivakishore14
65fed2d784
Create new line while pressing enter in repl.
...
Pressing Enter in repl should create new line instead of quiting the repl.
2019-06-28 15:44:54 +02:00
Alexander Medvednikov
99a0aa2300
fix main.v
2019-06-28 15:06:39 +02:00
Alexander Medvednikov
42bb85197a
force mut a := ...
, do not allow mut a = ...
2019-06-28 15:04:41 +02:00
Alexander Medvednikov
50012ae57b
V 0.1.8
2019-06-28 13:49:34 +02:00
Alexander Medvednikov
bd49977feb
fix single file programs without fn main
and REPL (allow imports,
...
function definitions, consts, etc)
2019-06-28 13:43:32 +02:00
wfhtqp
fd9163f715
update Makefile clean old file in all
2019-06-28 11:16:57 +02:00
Alexander Medvednikov
02131d1ae5
fix http
2019-06-27 23:20:30 +02:00
Alexander Medvednikov
dc161fb20f
V 0.1.7
2019-06-27 23:14:18 +02:00
Alexander Medvednikov
6824e6e7db
Replace all remaining C code with V in the compiler and vlib (hoorah!)
2019-06-27 23:11:27 +02:00
Dirk Loss
b1682e929d
Add '-v' option as described in help text
2019-06-27 22:22:30 +02:00
Alexander Medvednikov
f39111bdff
V 0.1.6
2019-06-27 18:51:45 +02:00
Alexander Medvednikov
494010d2af
os.v: replace remaining C code with V
2019-06-27 18:49:20 +02:00
Henrixounez
c83ebe2c66
compiler & builtin: bitshifts CAO fix and C code removal in utf8
...
utf8: removed bitshift cao in code
utf8: added pub on functions
utf8: byteptr to voidptr
utf8: converts voidptr to byteptr
2019-06-27 15:10:28 +02:00
Alexander Medvednikov
959cc2ea03
some more tests
2019-06-27 15:01:09 +02:00
Alexander Medvednikov
76bf732e63
builtin: public/private functions, remove lots of duplicate functionality
...
(string.eq, compare_strings, etc)
2019-06-27 13:29:31 +02:00
Alexander Medvednikov
b846d02cb2
V 0.1.5
2019-06-27 12:52:06 +02:00
Alexander Medvednikov
90c0791345
replace ugly tos2(bytes)
with string(bytes)
2019-06-27 12:50:02 +02:00
Alexander Medvednikov
b61d2ac346
Revert "compiler & builtin: bitshifts CAO fix and C code removal in utf8"
...
This reverts commit 223c35ffb9
.
2019-06-27 12:06:32 +02:00
Henrixounez
223c35ffb9
compiler & builtin: bitshifts CAO fix and C code removal in utf8
2019-06-27 12:01:48 +02:00
drswinghead
7ca00c8f5e
Fix decl c struct follow a v struct
...
struct C.CURL
struct Curl {
h *C.CURL
}
2019-06-27 02:25:39 +02:00
Henrixounez
8b3802d9b8
help: cleaner help informations
...
help: added repl informations
2019-06-27 02:00:08 +02:00
Henrixounez
b1183dfe2c
parser: prompt error if struct is made public and if pub is wrongly used
...
added *yet* to the pub struct error
2019-06-27 01:56:19 +02:00
Alexander Medvednikov
7e641cd5ba
structure printing: minor fixes
2019-06-27 01:55:37 +02:00
Henrixounez
40df91fc08
compiler: added structure printing capabilities
2019-06-27 01:47:45 +02:00
Henrixounez
c1400f725f
parsing: fixed compound assignment operator bug on for loops
2019-06-26 22:21:54 +02:00
Alexander Medvednikov
ef737c5e61
parser.v: document "e" check
2019-06-26 21:44:08 +02:00
Henrixounez
6c7eaa7fd3
parser: fixed problem hexa being casted into float
2019-06-26 21:39:30 +02:00
Alexander Medvednikov
5e89c1399a
make test: build examples
2019-06-26 20:44:20 +02:00