1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/v2.v

34 lines
550 B
V
Raw Normal View History

module main
import (
v.parser
v.table
2019-12-30 10:30:24 +03:00
v.gen
os
)
const (
cdefs = '
#define true 1
#define false 0
2019-12-30 10:30:24 +03:00
typedef int bool;
typedef struct { char* str; } string;
typedef double f64;
string tos3(char* s) { return (string){ .str = s }; }
')
fn main() {
path := os.args[1]
println('V2 $path')
text := os.read_file(path)?
table := &table.Table{}
program := parser.parse_file(text, table)
2019-12-30 10:30:24 +03:00
res := gen.cgen(program)
mut out := os.create('out.c')?
out.writeln(cdefs)
out.writeln(res)
out.close()
println('out.c generated')
os.system('cc out.c')
}