From f5c4671bfbad96bf346bd7e9a21fc4317b4959df Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Sat, 3 Dec 2022 17:00:20 +0530 Subject: Adds most of the tools --- v_windows/v/cmd/tools/vast/test/.gitignore | 1 + v_windows/v/cmd/tools/vast/test/demo.v | 131 +++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 v_windows/v/cmd/tools/vast/test/.gitignore create mode 100644 v_windows/v/cmd/tools/vast/test/demo.v (limited to 'v_windows/v/cmd/tools/vast/test') diff --git a/v_windows/v/cmd/tools/vast/test/.gitignore b/v_windows/v/cmd/tools/vast/test/.gitignore new file mode 100644 index 0000000..857cade --- /dev/null +++ b/v_windows/v/cmd/tools/vast/test/.gitignore @@ -0,0 +1 @@ +demo.json diff --git a/v_windows/v/cmd/tools/vast/test/demo.v b/v_windows/v/cmd/tools/vast/test/demo.v new file mode 100644 index 0000000..536dc04 --- /dev/null +++ b/v_windows/v/cmd/tools/vast/test/demo.v @@ -0,0 +1,131 @@ +// usage test: v ast path_to_v/cmd/tools/vast/test/demo.v +// will generate demo.json + +// comment for module +module main + +// import module +import os +import math +import time { Time, now } + +// const decl +const ( + a = 1 + b = 3 + c = 'c' +) + +// struct decl +struct Point { + x int +mut: + y int +pub: + z int +pub mut: + name string +} + +// method of Point +pub fn (p Point) get_x() int { + return p.x +} + +// embed struct +struct MyPoint { + Point + title string +} + +// enum type +enum Color { + red + green + blue +} + +// type alias +type Myint = int + +// sum type +type MySumType = bool | int | string + +// function type +type Myfn = fn (int) int + +// interface type +interface Myinterfacer { + add(int, int) int + sub(int, int) int +} + +// main funciton +fn main() { + add(1, 3) + println(add(1, 2)) + println('ok') // comment println + arr := [1, 3, 5, 7] + for a in arr { + println(a) + add(1, 3) + } + color := Color.red + println(color) + println(os.args) + m := math.max(1, 3) + println(m) + println(now()) + t := Time{} + println(t) + p := Point{ + x: 1 + y: 2 + z: 3 + } + println(p) + my_point := MyPoint{ + // x: 1 + // y: 3 + // z: 5 + } + println(my_point.get_x()) +} + +// normal function +fn add(x int, y int) int { + return x + y +} + +// function with defer stmt +fn defer_fn() { + mut x := 1 + println('start fn') + defer { + println('in defer block') + println(x) + } + println('end fn') +} + +// generic function +fn g_fn(p T) T { + return p +} + +// generic struct +struct GenericStruct { + point Point +mut: + model T +} + +// generic interface +interface Gettable { + get() T +} + +// generic sumtype +struct None {} + +type MyOption = Error | None | T -- cgit v1.2.3