blob: 9215938cc445ca777ff9266fe02b9fecc8345180 [file] [log] [blame]
/*
* *****************************************************************************
*
* Copyright 2018 Gavin D. Howard
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*
* *****************************************************************************
*
* The main procedure of dc.
*
*/
#if DC_ENABLED
#include <string.h>
#include <status.h>
#include <dc.h>
#include <vm.h>
int dc_main(int argc, char **argv) {
BcStatus s;
vm->read_ret = BC_INST_POP_EXEC;
vm->help = dc_help;
#if BC_ENABLE_SIGNALS
vm->sig_msg = dc_sig_msg;
vm->sig_len = (uchar) strlen(vm->sig_msg);
#endif // BC_ENABLE_SIGNALS
vm->next = dc_lex_token;
vm->parse = dc_parse_parse;
vm->expr = dc_parse_expr;
s = bc_vm_boot(argc, argv, "DC_LINE_LENGTH");
return (int) s;
}
#endif // DC_ENABLED