/## Copyright 2021 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 recieved 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 #/ /; export module tnslc :import "flags" :import "parse" :import "ast" :import "compile" ;/ :using 'tnsl' :using 'tnslc' /; main (~{}{}char args) [int] ;var arg_list = flags.parse(args) ;var token_list = parse.tokenize(arg_list) ;var ast = ast.generate(token_list) /; try ;var out_file = file.open(arg_list.output_file_path) ;var data = compile.generate(arg_list, ast) ;out_file.write(data) ;out_file.close() ;; catch (error e) ;io.stdout.write(e.msg) ;return e.code ;/ ;/