- int tok, res;
- init_encodings();
- set_encoding_width(TWO_BYTE_LOHI);
- res = open_conv_to_internal("UNICODE");
- if (!res) {
- gedcom_error("Unable to open conversion context: %s",
- strerror(errno));
- return 1;
- }
- tok = gedcom_lohi_lex();
- while (tok) {
- switch(tok) {
- case BADTOKEN: printf("BADTOKEN "); break;
- case OPEN: printf("OPEN(%d) ", gedcom_lval.number); break;
- case CLOSE: printf("CLOSE "); break;
- case ESCAPE: printf("ESCAPE(%s) ", gedcom_lval.string); break;
- case DELIM: printf("DELIM "); break;
- case ANYCHAR: printf("%s ", gedcom_lval.string); break;
- case POINTER: printf("POINTER(%s) ", gedcom_lval.string); break;
- case USERTAG: printf("USERTAG(%s) ", gedcom_lval.string); break;
- default: printf("TAG(%s) ", gedcom_lval.string); break;
- }
- tok = gedcom_lohi_lex();
- }
- printf("\n");
- close_conv_to_internal();
- return 0;