/## Copyright 2021-2022 Kyle Gunger This file is licensed under the CDDL 1.0 (the License) and may only be used in accordance with the License. You should have received a copy of the License with this software/source code. If you did not, a copy can be found at the following URL: https://opensource.org/licenses/CDDL-1.0 THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE EXPRESS OR IMPLIED #/ :include "util.tnsl" :include "paths.tnsl" /; export module tnslc :include "parse/parse.tnsl" :include "compile/compile.tnsl" :include "compile/isa_x86.tnsl" ;/ /; main ({}{}charp args) [int] /; if (len args < 1) ;tnsl.io.println("Usage: tnslc [file in]") ;return 1 ;/ ;{}charp file = args{0} ;tnsl.io.File src = tnsl.io.readFile(file) ;~{}tnslc.Token psrc = tnslc.parse.tokenize(src) ;src.close() ;tnsl.io.print(len psrc`) ;tnsl.io.println(" tokens parsed.") # ;tnslc.print_tokens(psrc) # ;tnslc.Node tree_node = tnslc.ast.make_tree(psrc, args{0}) ;file.append('.') ;file.append('S') ;tnslc.do_compile(file, psrc) ;return 0 ;/