From 11cc9ed0e4482c0ba67d7bc705b961506edefcf1 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 18 Sep 2020 14:38:34 -0500 Subject: [PATCH] changed overloaded function syntax; () are required on procs now --- core/alloc.onyx | 4 ++-- core/file.onyx | 6 ++--- core/intrinsics.onyx | 2 +- core/js/webgl.onyx | 20 ++++++++-------- core/stdio.onyx | 6 ++--- core/string.onyx | 11 ++++----- core/sys/js.onyx | 2 +- core/sys/wasi.onyx | 2 +- core/wasi.onyx | 2 +- onyx | Bin 479532 -> 479508 bytes progs/odin_example.onyx | 2 +- progs/poly_test.onyx | 2 +- progs/wasi_test.onyx | 2 +- src/onyxparser.c | 51 ++++++++++++++++++++-------------------- tests/general1.onyx | 2 +- 15 files changed, 55 insertions(+), 59 deletions(-) diff --git a/core/alloc.onyx b/core/alloc.onyx index 243e568c..3d6614aa 100644 --- a/core/alloc.onyx +++ b/core/alloc.onyx @@ -18,7 +18,7 @@ heap_block :: struct { next : ^heap_block; } -heap_init :: proc { +heap_init :: proc () { heap_state.free_list = null; heap_state.next_alloc = __heap_start; heap_state.remaining_space = (memory_size() << 16) - cast(u32) __heap_start; @@ -173,6 +173,6 @@ alloc_slice :: proc (sl: ^[] $T, count: i32) { -memory_init :: proc { +memory_init :: proc () { heap_init(); } diff --git a/core/file.onyx b/core/file.onyx index 3a0e5ea5..a93e28ac 100644 --- a/core/file.onyx +++ b/core/file.onyx @@ -10,7 +10,7 @@ use package wasi OpenMode :: enum { Read; Write; - Append; + Append; } File :: struct { @@ -99,7 +99,7 @@ file_get_contents_from_file :: proc (file: File) -> string { dummy: i64; fd_seek(file.fd, 0l, Whence.Set, ^dummy); - dummy2: u32; + dummy2: u32; buf := IOVec.{ data, size }; fd_pread(file.fd, IOVecArray.{ ^buf, 1 }, 0l, ^dummy2); @@ -108,7 +108,7 @@ file_get_contents_from_file :: proc (file: File) -> string { return data[0 .. size]; } -file_get_contents :: proc #overloaded { +file_get_contents :: proc { file_get_contents_from_file, proc (path: string) -> string { diff --git a/core/intrinsics.onyx b/core/intrinsics.onyx index 38aa0f00..6aee93e9 100644 --- a/core/intrinsics.onyx +++ b/core/intrinsics.onyx @@ -1,6 +1,6 @@ package core -memory_size :: proc -> i32 #intrinsic --- +memory_size :: proc () -> i32 #intrinsic --- memory_grow :: proc (val: i32) -> i32 #intrinsic --- clz_i32 :: proc (val: i32) -> i32 #intrinsic --- diff --git a/core/js/webgl.onyx b/core/js/webgl.onyx index dbbe978b..428a1263 100644 --- a/core/js/webgl.onyx +++ b/core/js/webgl.onyx @@ -738,7 +738,7 @@ blendFuncSeparate :: proc (srcRGB: GLenum, dstRGB: GLenum, srcAlpha blitFramebuffer :: proc (sx0: GLint, sy0: GLint, sx1: GLint, sy1: GLint, dx0: GLint, dy0: GLint, dx1: GLint, dy1: GLint, mask: GLbitfield, filter: GLenum) #foreign "gl" "blitFramebuffer" --- bufferDataWithData :: proc (target: GLenum, buffer: Buffer, usage: GLenum) #foreign "gl" "bufferDataWithData" --- bufferDataNoData :: proc (target: GLenum, size: GLsizeiptr, usage: GLenum) #foreign "gl" "bufferDataNoData" --- -bufferData :: proc #overloaded { bufferDataWithData, bufferDataNoData } +bufferData :: proc { bufferDataWithData, bufferDataNoData } bufferSubData :: proc (target: GLenum, offset: GLsizei, data: Buffer) #foreign "gl" "bufferSubData" --- canvasSize :: proc (width: GLsizei, height: GLsizei) #foreign "gl" "canvasSize" --- checkFrameBufferStatus :: proc (target: GLenum) -> GLenum #foreign "gl" "checkFrameBufferStatus" --- @@ -753,13 +753,13 @@ compressedTexSubImage2D :: proc (target: GLenum, level: GLint, internalfo copyBufferSubData :: proc (readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) #foreign "gl" "copyBufferSubData" --- copyTexImage2D :: proc (target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) #foreign "gl" "copyTexImage2D" --- copyTexSubImage2D :: proc (target: GLenum, level: GLint, xoff: GLint, yoff: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) #foreign "gl" "copyTexSubImage2D" --- -createBuffer :: proc -> GLBuffer #foreign "gl" "createBuffer" --- -createFramebuffer :: proc -> GLFramebuffer #foreign "gl" "createFramebuffer" --- -createProgram :: proc -> GLProgram #foreign "gl" "createProgram" --- -createRenderbuffer :: proc -> GLRenderbuffer #foreign "gl" "createRenderbuffer" --- +createBuffer :: proc () -> GLBuffer #foreign "gl" "createBuffer" --- +createFramebuffer :: proc () -> GLFramebuffer #foreign "gl" "createFramebuffer" --- +createProgram :: proc () -> GLProgram #foreign "gl" "createProgram" --- +createRenderbuffer :: proc () -> GLRenderbuffer #foreign "gl" "createRenderbuffer" --- createShader :: proc (type: GLenum) -> GLShader #foreign "gl" "createShader" --- -createTexture :: proc -> GLTexture #foreign "gl" "createTexture" --- -createVertexArray :: proc -> GLVertexArrayObject #foreign "gl" "createVertexArray" --- +createTexture :: proc () -> GLTexture #foreign "gl" "createTexture" --- +createVertexArray :: proc () -> GLVertexArrayObject #foreign "gl" "createVertexArray" --- cullFace :: proc (mode: GLenum) #foreign "gl" "cullFace" --- deleteBuffer :: proc (buffer: GLBuffer) #foreign "gl" "deleteBuffer" --- deleteFramebuffer :: proc (framebuffer: GLFramebuffer) #foreign "gl" "deleteFramebuffer" --- @@ -780,8 +780,8 @@ drawElements :: proc (mode: GLenum, count: GLsizei, type: GLen drawElementsInstanced :: proc (mode: GLenum, count: GLsizei, type: GLenum, offset: GLint, instanceCount: GLsizei) #foreign "gl" "drawElementsInstanced" --- enable :: proc (cap: GLenum) #foreign "gl" "enable" --- enableVertexAttribArray :: proc (index: GLuint) #foreign "gl" "enableVertexAttribArray" --- -finish :: proc #foreign "gl" "finish" --- -flush :: proc #foreign "gl" "flush" --- +finish :: proc () #foreign "gl" "finish" --- +flush :: proc () #foreign "gl" "flush" --- framebufferRenderbuffer :: proc (target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: GLRenderbuffer) #foreign "gl" "framebufferRenderbuffer" --- framebufferTexture2D :: proc (target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLTexture, level: GLint) #foreign "gl" "framebufferTexture2D" --- framebufferTextureLayer :: proc (target: GLenum, attachment: GLenum, texture: GLTexture, level: GLint, layer: GLint) #foreign "gl" "framebufferTextureLayer" --- @@ -793,7 +793,7 @@ getActiveUniform :: proc (program: GLProgram, index: GLuint, out: getAttribLocation :: proc (program: GLProgram, name: string) -> GLint #foreign "gl" "getAttribLocation" --- getBufferSubData :: proc (target: GLenum, srcByteOffset: GLintptr, dstBuffer: string, dstOffset: GLuint, length: GLuint) #foreign "gl" "getBufferSubData" --- // getBufferParameter and getParameter do not work -getError :: proc -> GLenum #foreign "gl" "getError" --- +getError :: proc () -> GLenum #foreign "gl" "getError" --- getInternalformatParameter :: proc (target: GLenum, internalFormat: GLenum, pname: GLenum) -> GLenum #foreign "gl" "getInternalformatParameter" --- // many of the 'gets' don't work yet because they return very javascripty things getProgramParameter :: proc (program: GLProgram, pname: GLenum) -> GLenum #foreign "gl" "getProgramParameter" --- diff --git a/core/stdio.onyx b/core/stdio.onyx index ed57856c..12248e00 100644 --- a/core/stdio.onyx +++ b/core/stdio.onyx @@ -7,7 +7,7 @@ use package system as system #private print_buffer : StringBuilder; -stdio_init :: proc { +stdio_init :: proc () { print_buffer = string_builder_make(2048); } @@ -30,7 +30,7 @@ print_range :: proc (r: range, sep := " ") { print("\n"); } -print :: proc #overloaded { +print :: proc { print_string, print_cstring, print_i64, print_i32, print_bool, print_ptr, @@ -52,7 +52,7 @@ print_array :: proc (arr: $T, sep := " ") { print("\n"); } -print_buffer_flush :: proc { +print_buffer_flush :: proc () { if print_buffer.len == 0 do return; ^print_buffer diff --git a/core/string.onyx b/core/string.onyx index 405ede87..0603bf6c 100644 --- a/core/string.onyx +++ b/core/string.onyx @@ -1,15 +1,12 @@ package core -string_make :: proc #overloaded { string_make_from_cstring } - -#private -string_make_from_cstring :: proc (s: cstring) -> string { +string_make :: proc (s: cstring) -> string { len :: string_length(s); return string.{ count = len, data = s }; } -string_length :: proc #overloaded { +string_length :: proc { proc (s: ^u8) -> u32 { len := 0; c := s; @@ -233,7 +230,7 @@ string_builder_add_bool :: proc (use sb: ^StringBuilder, b: bool) -> ^StringBuil return null; } -string_builder_append :: proc #overloaded { +string_builder_append :: proc { string_builder_add_string, string_builder_add_cstring, string_builder_add_i64, @@ -292,6 +289,6 @@ string_advance_line :: proc (str: ^string) { str.count -= adv; } -string_read :: proc #overloaded { +string_read :: proc { string_read_u32, string_read_char } diff --git a/core/sys/js.onyx b/core/sys/js.onyx index 5f9be60b..9bccbb2a 100644 --- a/core/sys/js.onyx +++ b/core/sys/js.onyx @@ -8,7 +8,7 @@ output_string :: proc (s: string) -> u32 #foreign "host" "print_str" --- // The builtin _start proc. // Sets up everything needed for execution. -proc #export "_start" { +proc () #export "_start" { memory_init(); context.allocator = heap_allocator; diff --git a/core/sys/wasi.onyx b/core/sys/wasi.onyx index 85d26044..00c82145 100644 --- a/core/sys/wasi.onyx +++ b/core/sys/wasi.onyx @@ -19,7 +19,7 @@ output_string :: proc (s: string) -> u32 { // The builtin _start proc. // Sets up everything needed for execution. -proc #export "_start" { +proc () #export "_start" { memory_init(); context.allocator = heap_allocator; diff --git a/core/wasi.onyx b/core/wasi.onyx index 307007a3..128cbe4d 100644 --- a/core/wasi.onyx +++ b/core/wasi.onyx @@ -418,7 +418,7 @@ poll_oneoff :: proc (in: ^Subscription, out: ^Event, nsubscriptions: Size, neven proc_exit :: proc (rval: ExitCode) #foreign "wasi_unstable" "proc_exit" --- proc_raise :: proc (sig: Signal) -> Errno #foreign "wasi_unstable" "proc_raise" --- -sched_yield :: proc -> Errno #foreign "wasi_unstable" "sched_yield" --- +sched_yield :: proc () -> Errno #foreign "wasi_unstable" "sched_yield" --- random_get :: proc (buf: ^u8, buf_len: Size) -> Errno #foreign "wasi_unstable" "random_get" --- diff --git a/onyx b/onyx index ead1c3ce323fc67e9773ec9872641fdeb8c422f6..cf7966737a3f0ed1b3c1dcf67cf50888f3e75535 100755 GIT binary patch delta 60292 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 diff --git a/progs/odin_example.onyx b/progs/odin_example.onyx index 62a688d8..a4239cba 100644 --- a/progs/odin_example.onyx +++ b/progs/odin_example.onyx @@ -47,7 +47,7 @@ print_bar :: proc (bar: ^Bar) { print("\n"); } -make_bar :: proc -> Bar { +make_bar :: proc () -> Bar { bar : Bar; bar.data1 = 1234; bar.data2 = 12.34f; diff --git a/progs/poly_test.onyx b/progs/poly_test.onyx index 69c014b8..eed3495d 100644 --- a/progs/poly_test.onyx +++ b/progs/poly_test.onyx @@ -85,7 +85,7 @@ print_v2 :: proc (v: V2) #add_overload print { print(")"); } -switch_demo :: proc { +switch_demo :: proc () { switch a := 4; a { case 4, 5, 6 { print("a was 4, 5, or 6\n"); diff --git a/progs/wasi_test.onyx b/progs/wasi_test.onyx index 01e3b829..3f3783a7 100644 --- a/progs/wasi_test.onyx +++ b/progs/wasi_test.onyx @@ -79,7 +79,7 @@ readdir :: proc (fd: FileDescriptor) { } } -timer_start :: proc -> Timestamp { +timer_start :: proc () -> Timestamp { curr_time: Timestamp; clock_time_get(ClockID.Realtime, cast(Timestamp) 1, ^curr_time); return curr_time; diff --git a/src/onyxparser.c b/src/onyxparser.c index 38c47363..5519ee02 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -1443,9 +1443,6 @@ static AstStructType* parse_struct(OnyxParser* parser) { // e // '(' (: ,?)* ')' static void parse_function_params(OnyxParser* parser, AstFunction* func) { - if (parser->curr->type != '(') - return; - expect_token(parser, '('); if (parser->curr->type == ')') { @@ -1543,8 +1540,32 @@ static b32 parse_possible_directive(OnyxParser* parser, const char* dir) { // 'proc' ('->' )? * static AstFunction* parse_function_definition(OnyxParser* parser) { + OnyxToken* proc_token = expect_token(parser, Token_Type_Keyword_Proc); + + if (parser->curr->type == '{') { + AstOverloadedFunction* ofunc = make_node(AstOverloadedFunction, Ast_Kind_Overloaded_Function); + ofunc->token = proc_token; + + bh_arr_new(global_heap_allocator, ofunc->overloads, 4); + + expect_token(parser, '{'); + while (parser->curr->type != '}') { + if (parser->hit_unexpected_token) return (AstFunction *) ofunc; + + AstTyped* o_node = parse_expression(parser); + + bh_arr_push(ofunc->overloads, o_node); + + if (parser->curr->type != '}') + expect_token(parser, ','); + } + + consume_token(parser); + return (AstFunction *) ofunc; + } + AstFunction* func_def = make_node(AstFunction, Ast_Kind_Function); - func_def->token = expect_token(parser, Token_Type_Keyword_Proc); + func_def->token = proc_token; bh_arr_new(global_heap_allocator, func_def->locals, 4); bh_arr_new(global_heap_allocator, func_def->params, 4); @@ -1565,28 +1586,6 @@ static AstFunction* parse_function_definition(OnyxParser* parser) { func_def->return_type = return_type; while (parser->curr->type == '#') { - if (parse_possible_directive(parser, "overloaded")) { - AstOverloadedFunction* ofunc = make_node(AstOverloadedFunction, Ast_Kind_Overloaded_Function); - ofunc->token = func_def->token; - - bh_arr_new(global_heap_allocator, ofunc->overloads, 4); - - expect_token(parser, '{'); - while (parser->curr->type != '}') { - if (parser->hit_unexpected_token) return (AstFunction *) ofunc; - - AstTyped* o_node = parse_expression(parser); - - bh_arr_push(ofunc->overloads, o_node); - - if (parser->curr->type != '}') - expect_token(parser, ','); - } - - consume_token(parser); - return (AstFunction *) ofunc; - } - if (parse_possible_directive(parser, "add_overload")) { if (func_def->overloaded_function != NULL) { onyx_report_error(parser->curr->pos, "cannot have multiple #add_overload directives on a single procedure."); diff --git a/tests/general1.onyx b/tests/general1.onyx index 7b61fa43..cea27431 100644 --- a/tests/general1.onyx +++ b/tests/general1.onyx @@ -76,7 +76,7 @@ by :: proc (r: range, s: u32) -> range { return range.{ low = r.low, high = r.high, step = s }; } -switch_demo :: proc { +switch_demo :: proc () { switch a := 4; a { case 4, 5, 6 { println("a was 4, 5, or 6"); -- 2.25.1