;;; -*- Mode: tdl; Coding: utf-8; -*- punct_period_orule := %suffix (!. !..) punctuation_period_rule. punct_qmark_orule := %suffix (!p !p\?) punctuation_qmark_rule. punct_qqmark_orule := %suffix (!p !p\?) punctuation_clmark_qmark_rule. punct_qmark_bang_orule := %suffix (!p !p\!) punctuation_clmark_qmark_rule. punct_comma_orule := %suffix (!q !q,) punctuation_comma_rule. punct_bang_orule := %suffix (!p !p\!) punctuation_bang_rule. punct_semicol_orule := %suffix (!. !.;) punctuation_semicol_rule. ;punct_colon_orule := ;%suffix (!p !p:) ;punctuation_colon_rule. punct_rparen_orule := %suffix (!p !p\)) punctuation_rparen_rule. ; For robustness, where mis-editing left comma preceding right paren punct_rp_comma_orule := %suffix (!p !p,\)) punctuation_rparen_rule. punct_lparen_orule := %prefix (!f (!f) punctuation_lparen_rule. punct_rbracket_orule := %suffix (!p !p]) punctuation_rparen_rule. punct_lbracket_orule := %prefix (!f [!f) punctuation_lparen_rule. ;; ;; _fix_me_ ;; how many variants of quote marks to include depends on what decisions we ;; make in pre-processing. as of September 2008, we have opted for a total of ;; six, viz. UniCode directional quotes (|“|, |”|, |‘|, and |’|), as well as ;; straight ASCII quotes (|"| and |'|). when an input text makes use of good ;; directional quotes we preserve those (to not introduce ambiguity). also, we ;; disambiguate straight quotes in pre-processing, based on proximity to token ;; boundaries. hence, straight quotes, when interpreted as quote marks, can ;; only represent closing quotes. but because |"| is ambiguous as a unit of ;; measure (feet), and |'| can be a possessive marker following |s|, we do not ;; map everything to UniCode directional quotes in pre-processing. finally, if ;; only for robustness (or use without the full pre-processors), allow some ;; variants that we do not expect to see in the ideal world: |``|, |''|, and ;; |`|. ;; punct_dqright_orule := %suffix (!q !q”) (!q !q") (!q !q'') punctuation_dqright_rule. punct_dqleft_orule := %prefix (!f “!f) (!f "!f) (!f ``!f) (!f “!f) punctuation_dqleft_rule. punct_sqright_orule := %suffix (!q !q’) (!q !q') punctuation_sqright_rule. punct_sqleft_orule := %prefix (!f ‘!f) (!f `!f) punctuation_sqleft_rule. punct_hyphen_orule := %suffix (!p !p-) punctuation_hyphen_rule. ; Add punct_comma_informal_rule for e.g. comma-marked subjects and hcomp heads ; but don't use for generation. punct_comma_informal_orule := %suffix (!. !.,) punctuation_comma_informal_rule. punct_italleft_orule := %prefix (!f ¦i!f) (!f “!f) punctuation_italleft_rule. punct_italright_orule := %suffix (!q !qi¦) (!q !q") punctuation_italright_rule. punct_drop_ileft_orule := %prefix (!f ¦i!f) punct_drop_italleft_rule. punct_drop_iright_orule := %suffix (!q !qi¦) punct_drop_italright_rule. ; Replace punct_period_rule to also admit questions ending in periods, commas ; For VM and EC data only ;punct_period_orule := ;%suffix (!. !..) (!. !.,) ;punctuation_period_robust_rule.