// File: neubig[P]egret/Egret/src/Main.cpp
// Function: usage()
void usage()
{
	cerr<<"egret -lapcfg -i=text -oft=[variational|max_rule_sum|max_rule_product|max_prob|viterbi] [-data=grammar_directory] [-n=nbest] [-debug=dlevel]\n"
		<<"              [-grammarLevel=level] [-printForest] [-threshold=double] [-nbest4threshold=int]"<<endl
		<<"		do syntax parsing with latent annotation pcfg (in the same way as berkeley parser, and with same level accuracy)"<<endl
		<<"		oft is the Object Function Type, default is max_rule_product"<<endl
		<<"		data is the directory of the grammar, chn_grammar trained on CTB6, eng_grammar trained on PTB3, default is \"chn_grammar\""<<endl
		<<"		n, output nbest tree, default is 1"<<endl
		<<"		grammarLevel is the level of grammar to load, range from 0-5"<<endl
		<<"		printForest, output forest instead of nbest trees"<<endl
		<<"		threshold=x, if set, the hyperedges with margin larger than x to the viterbi path will be pruned"<<endl
		<<"		nbest4threshold=x, if set, the hyperedges not in the x nbest trees will be pruned"<<endl
		<<"		debug, output debug information, default is 0"<<endl
		<<"		example1: Egret -lapcfg -i=test-chn.txt -data=chn_grammar -n=100 > log.txt"<<endl
		<<"		example2: Egret -lapcfg -i=test-chn.txt -data=chn_grammar -nbest4threshold=100 -printForest > log.txt"<<endl
		<<endl
		<<"egret -pcfg -g=grammar -i=text -debug=dlevel [-n=nbest] -unary_fine=[0|1]"<<endl
		<<"		syntax parsing with pure pcfg"<<endl
		<<"		debug level default is 0,nbest default is 1"<<endl
		<<"		example: Egret -pcfg -g=testeng.gra -i=testeng.txt -n=3"<<endl
		<<""<<endl
		<<"egret -io -g=grammar -i=text -debug=dlevel -pass=iteration -threshold=a_float_number -unary_fine=[0|1]"<<endl
		<<"		inside-outside estimation"
		<<"		pass default is 1, threshold default is 0, debug default is 0"<<endl
		<<"		-unary_fine=[0|1], 0 to cope with unary rule in a coarse way, 1 in fine way"<<endl
		<<"		example: Egret -io -g=testeng.gra -i=testeng.txt -pass=3"<<endl
		<<""<<endl;
	exit(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x5dbe5(%rip), %rdi     # 0xceff0
leaq 0x1f166(%rip), %rsi     # 0x90578
callq 0x4380
movq %rax, %rdi
leaq 0x1f1e5(%rip), %rsi     # 0x90606
callq 0x4380
movq %rax, %rdi
movq 0x5db88(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f225(%rip), %rsi     # 0x90664
callq 0x4380
movq %rax, %rdi
movq 0x5db6a(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f27a(%rip), %rsi     # 0x906d7
callq 0x4380
movq %rax, %rdi
movq 0x5db4c(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f29b(%rip), %rsi     # 0x90716
callq 0x4380
movq %rax, %rdi
movq 0x5db2e(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f2f8(%rip), %rsi     # 0x90791
callq 0x4380
movq %rax, %rdi
movq 0x5db10(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f2ff(%rip), %rsi     # 0x907b6
callq 0x4380
movq %rax, %rdi
movq 0x5daf2(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f320(%rip), %rsi     # 0x907f5
callq 0x4380
movq %rax, %rdi
movq 0x5dad4(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f336(%rip), %rsi     # 0x90829
callq 0x4380
movq %rax, %rdi
movq 0x5dab6(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f37b(%rip), %rsi     # 0x9088c
callq 0x4380
movq %rax, %rdi
movq 0x5da98(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f3b1(%rip), %rsi     # 0x908e0
callq 0x4380
movq %rax, %rdi
movq 0x5da7a(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f3c3(%rip), %rsi     # 0x90910
callq 0x4380
movq %rax, %rdi
movq 0x5da5c(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f3f2(%rip), %rsi     # 0x9095d
callq 0x4380
movq %rax, %rdi
movq 0x5da3e(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
movq 0x5da2f(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f42d(%rip), %rsi     # 0x909c5
callq 0x4380
movq %rax, %rdi
movq 0x5da11(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f459(%rip), %rsi     # 0x90a0f
callq 0x4380
movq %rax, %rdi
movq 0x5d9f3(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f45b(%rip), %rsi     # 0x90a2f
callq 0x4380
movq %rax, %rdi
movq 0x5d9d5(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f46b(%rip), %rsi     # 0x90a5d
callq 0x4380
movq %rax, %rdi
movq 0x5d9b7(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f846(%rip), %rsi     # 0x90e56
callq 0x4380
movq %rax, %rdi
movq 0x5d999(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f469(%rip), %rsi     # 0x90a97
callq 0x4380
movq %rax, %rdi
movq 0x5d97b(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f4b2(%rip), %rsi     # 0x90afe
callq 0x4380
movq %rax, %rdi
leaq 0x1f4bf(%rip), %rsi     # 0x90b1a
callq 0x4380
movq %rax, %rdi
movq 0x5d94e(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f4e1(%rip), %rsi     # 0x90b5a
callq 0x4380
movq %rax, %rdi
movq 0x5d930(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f511(%rip), %rsi     # 0x90ba8
callq 0x4380
movq %rax, %rdi
movq 0x5d912(%rip), %rsi     # 0xcefb8
callq 0x43d0
movq %rax, %rdi
leaq 0x1f7a1(%rip), %rsi     # 0x90e56
callq 0x4380
movq %rax, %rdi
movq 0x5d8f4(%rip), %rsi     # 0xcefb8
callq 0x43d0
movl $0x1, %edi
callq 0x4460
nopw %cs:(%rax,%rax)