!************************************************************************* ! * ! © Copyright 2005 Hewlett-Packard Development Company, L.P. * ! * ! Confidential computer software. Valid license from HP required for * ! possession, use or copying. Consistent with FAR 12.211 and 12.212, * ! Commercial Computer Software, Computer Software Documentation, and * ! Technical Data for Commercial Items are licensed to the U.S. * ! Government under vendor's standard commercial license. * ! * !************************************************************************* !++ ! Facility: ! Extended LSE (XLSE) ! ! Abstract: ! This module defines the TABLE language attributes, templates ! and placeholders. ! ! Author: ! W. Ward Clark, LinkWorks Project ! ! Creation Date: 16-May-85 ! ! Modification History: ! X0.7 WWC 18-Aug-85 remove DELETE statements ! X0.9 WWC 15-Jan-86 Copyright placeholder: 1985 --> 1986 ! X0.10 WWC 16-Nov-86 upgrade to LSE V2 ! X1.1 WWC 10-Jan-87 Copyright placeholder: 1986 --> 1987 ! X1.1-1 WWC 30-Mar-87 new DEFINE LANGUAGE /COMMENT qualifier ! X1.2 WWC 14-Feb-88 TBS alias --> token, ... ! 1987 --> 1988 ! X1.3 WWC 15-Jan-89 normalize LSE command syntax ! 1988 --> 1989 ! X3.0 WWC 1-Jan-90 upgrade to LSE V3.0 ! 1989 --> 1990 ! X3.0-1 WWC 28-Jan-90 add PDF definitions ! X3.1 WWC 29-Oct-91 1990 --> 1991 ! X4.0a WWC 24-Feb-93 make modification-id an optional placeholder ! X4.0a-1 WWC 24-Feb-93 1991 --> 1993 ! X4.0a-2 WWC 25-Feb-93 avoid LSE V4.0 comment definition bug !-- ! !+ ! TABLE Language Definition !- DELETE LANGUAGE table DEFINE LANGUAGE table - /CAPABILITIES=NODIAGNOSTICS - /COMPILE_COMMAND="" - /EXPAND_CASE=AS_IS - /FILE_TYPES=(.TBL) - /HELP_LIBRARY="" - /IDENTIFIER_CHARACTERS= - "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ%$_0123456789" - /INITIAL_STRING="[module]" - /LEFT_MARGIN=CONTEXT_DEPENDENT - /OVERVIEW_OPTIONS=( - MINIMUM_LINES=1, - TAB_RANGE=(4,8)) - /PLACEHOLDER_DELIMITERS=( - REQUIRED= ("{~","~}"), - REQUIRED_LIST= ("{~","~}..."), - OPTIONAL= ("[","]"), - OPTIONAL_LIST= ("[","]..."), - PSEUDOCODE= ("«","»")) - /PUNCTUATION_CHARACTERS=",;()" - /QUOTED_ITEM=(QUOTES="{}") - /RIGHT_MARGIN=80 - /TAB_INCREMENT=8 - /TOPIC_STRING="" - /NOWRAP - /VERSION="(XLSE X4.0a)" ! The following fixup avoids an LSE V4.0 bug where /COMMENT is not ! properly handled on a DEFINE LANGUAGE command. ! MODIFY LANGUAGE table - /COMMENT=( - ASSOCIATED_IDENTIFIER = PREVIOUS, - BEGIN=("COMMENT {"), - END=("}"), - NOFIXED, - NOLINE, - NOTRAIL) !+ ! Delete any language definitions !- SET LANGUAGE table DELETE PLACEHOLDER * DELETE TOKEN * ! !+ ! Language-independent definitions !- DELETE PLACEHOLDER "lse$block_comment" DEFINE PLACEHOLDER "lse$block_comment" - /TYPE=NONTERMINAL "COMMENT{" " {~tbs~}" "}" END DEFINE DELETE PLACEHOLDER "lse$generic" DEFINE PLACEHOLDER "lse$generic" - /TYPE=NONTERMINAL "{~tbs~}" END DEFINE DELETE PLACEHOLDER "lse$line_comment" DEFINE PLACEHOLDER "lse$line_comment" - /TYPE=NONTERMINAL "COMMENT{ {~tbs~} }" END DEFINE DEFINE PLACEHOLDER tbs - /DESCRIPTION="field to be specified" - /TOPIC="" - /TYPE=TERMINAL "to be specified" END DEFINE DEFINE PLACEHOLDER module - /DESCRIPTION="TABLE Module" - /TOPIC="" - /TYPE=NONTERMINAL "COMMENT {[module-level-comments]}" " " "{~table-statement~}..." END DEFINE DEFINE TOKEN module /PLACEHOLDER=module DEFINE PLACEHOLDER module-level-comments - /DESCRIPTION="" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "++" "Facility:" " {tbs}" " " "Abstract:" " {tbs}" " " "Author:" " {tbs}" " " "Creation Date: {tbs}" " " "Modification History:" "--" END DEFINE !+ ! Modification History definitions !- DEFINE TOKEN "tbs" - /DESCRIPTION="to-be-specified" "[tbs]" END DEFINE DEFINE TOKEN "new_modification" - /DESCRIPTION="modification history entry" "COMMENT { [~modification-id~] {~your-initials~} {~modification-date~} {~modification-remark~}}" END DEFINE DEFINE PLACEHOLDER modification-id - /DESCRIPTION="modification identification number" - /TOPIC="" - /TYPE=TERMINAL "modification identification number" END DEFINE DEFINE PLACEHOLDER your-initials - /DESCRIPTION="your initials" - /TOPIC="" - /TYPE=TERMINAL "your initials" END DEFINE DEFINE PLACEHOLDER modification-date - /DESCRIPTION="modification date" - /TOPIC="" - /TYPE=TERMINAL "modification date (dd-mmm-yy)" END DEFINE DEFINE PLACEHOLDER modification-remark - /DESCRIPTION="brief description of a modification" - /TOPIC="" - /TYPE=TERMINAL "brief description of the modification" END DEFINE ! !+ ! TABLE statements !- DEFINE TOKEN table /PLACEHOLDER=table-statement DEFINE PLACEHOLDER table-statement - /DESCRIPTION="TABLE statement" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "TABLE" " [boxed-attribute]" " [table-number-attribute]" " [chapter-number-attribute]" " HAS {~number~} COLUMNS" " [title-statement]" " [table-width-statement]" "" " [text-widths-statement]" " [proportional-widths]" " [gutter-widths-statement]" " [white-space-statement]" "" " [column-defaults-statement]" "" " [column-headers-statement]" "" " [row-statement]..." " [tab-row-statement]..." "END_TABLE" "" END DEFINE DEFINE PLACEHOLDER boxed-attribute - /DESCRIPTION="BOXED table attribute" - /TOPIC="" - /TYPE=NONTERMINAL "WHICH IS BOXED OUTLINE, HEADERS, HORIZONTAL, VERTICAL" END DEFINE DEFINE PLACEHOLDER table-number-attribute - /DESCRIPTION="table number attribute" - /TOPIC="" - /TYPE=NONTERMINAL "NUMBER {~table-number~}" END DEFINE DEFINE PLACEHOLDER chapter-number-attribute - /DESCRIPTION="chapter number attribute" - /TOPIC="" - /TYPE=NONTERMINAL "IN CHAPTER {~chapter-number~}" END DEFINE DEFINE TOKEN column /PLACEHOLDER=column-statement DEFINE PLACEHOLDER column-statement - /DESCRIPTION="COLUMN statement" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "COLUMN [column-attributes] {[text]}" END DEFINE DEFINE TOKEN comment /PLACEHOLDER=comment-statement DEFINE PLACEHOLDER comment-statement - /DESCRIPTION="COMMENT statement" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "COMMENT {[text]}" END DEFINE DEFINE TOKEN control_character /PLACEHOLDER=control-character-statement DEFINE PLACEHOLDER control-character-statement - /DESCRIPTION="CONTROL_CHARACTER statement" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "CONTROL_CHARACTER = ""{~control_character~}""" END DEFINE DEFINE TOKEN defaults /PLACEHOLDER=column-defaults-statement DEFINE PLACEHOLDER column-defaults-statement - /DESCRIPTION="column DEFAULTS" - /TOPIC="" - /TYPE=NONTERMINAL "DEFAULTS" " {~column-statement~}..." "END_DEFAULTS" END DEFINE DEFINE TOKEN gutter_widths /PLACEHOLDER=gutter-widths-statement DEFINE PLACEHOLDER gutter-widths-statement - /DESCRIPTION="GUTTER_WIDTHS definition" - /TOPIC="" - /TYPE=NONTERMINAL "GUTTER_WIDTHS = {~number~}..." END DEFINE DEFINE TOKEN headers /PLACEHOLDER=column-headers-statement DEFINE PLACEHOLDER column-headers-statement - /DESCRIPTION="column HEADERS" - /TOPIC="" - /TYPE=NONTERMINAL "HEADERS" " {~column-statement~}..." "END_HEADERS" END DEFINE DEFINE TOKEN pass_dsr /PLACEHOLDER=pass-dsr-statement DEFINE PLACEHOLDER pass-dsr-statement - /DESCRIPTION="PASS_DSR statement" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "PASS_DSR {[text]}" END DEFINE DEFINE PLACEHOLDER proportional-widths - /DESCRIPTION="PROPORTIONAL_WIDTHS definition" - /TOPIC="" - /TYPE=NONTERMINAL "PROPORTIONAL_WIDTHS = {~number~}..." END DEFINE DEFINE TOKEN row /PLACEHOLDER=row-statement DEFINE PLACEHOLDER row-statement - /DESCRIPTION="ROW statement" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "ROW" " {~column-statement~}..." "END_ROW" END DEFINE DEFINE TOKEN tab_character /PLACEHOLDER=tab-character-statement DEFINE PLACEHOLDER tab-character-statement - /DESCRIPTION="TAB_CHARACTER statement" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "TAB_CHARACTER = ""{~tab_character~}""" END DEFINE DEFINE TOKEN tab_headers /PLACEHOLDER=tab-headers-statement DEFINE PLACEHOLDER tab-headers-statement - /DESCRIPTION="TAB_HEADERS statement" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "TAB_HEADERS {[text]}" END DEFINE DEFINE TOKEN tab_row /PLACEHOLDER=tab-row-statement DEFINE PLACEHOLDER tab-row-statement - /DESCRIPTION="TAB_ROW statement" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "TAB_ROW {[text]}" END DEFINE DEFINE TOKEN text_widths /PLACEHOLDER=text-widths-statement DEFINE PLACEHOLDER text-widths-statement - /DESCRIPTION="TEXT_WIDTHS definition" - /TOPIC="" - /TYPE=NONTERMINAL "TEXT_WIDTHS" " {~column-statement~}..." "END_TEXT_WIDTHS" END DEFINE DEFINE TOKEN title /PLACEHOLDER=title-statement DEFINE PLACEHOLDER title-statement - /DESCRIPTION="TITLE attribute" - /TOPIC="" - /TYPE=NONTERMINAL "TITLE {~text~}" END DEFINE DEFINE TOKEN white_space /PLACEHOLDER=white-space-statement DEFINE PLACEHOLDER white-space-statement - /DESCRIPTION="WHITE_SPACE line count" - /TOPIC="" - /TYPE=NONTERMINAL "WHITE_SPACE = {~blank-line-count~} END DEFINE DEFINE TOKEN width /PLACEHOLDER=table-width-statement DEFINE PLACEHOLDER table-width-statement - /DESCRIPTION="table WIDTH attribute" - /TOPIC="" - /TYPE=NONTERMINAL "WIDTH = {~table-width~}" END DEFINE ! !+ ! In-text commands !- DEFINE TOKEN blank_list - /DESCRIPTION="BLANK_LIST in-text command" - /TOPIC="" "\BLANK_LIST\ {~text~} \END_LIST\" END DEFINE DEFINE TOKEN bold - /DESCRIPTION="BOLD in-text command" - /TOPIC="" "\BOLD\ {~text~} \NOBOLD\" END DEFINE DEFINE TOKEN break - /DESCRIPTION="BREAK in-text command" - /TOPIC="" "\BREAK\" END DEFINE DEFINE TOKEN bullet_list - /DESCRIPTION="BULLET_LIST in-text command" - /TOPIC="" "\BULLET_LIST\ {~text~} \END_LIST\" END DEFINE DEFINE TOKEN item - /DESCRIPTION="ITEM in-text command" - /TOPIC="" "\ITEM\" END DEFINE DEFINE TOKEN letter_list - /DESCRIPTION="LETTER_LIST in-text command" - /TOPIC="" "\LETTER_LIST\ {~text~} \END_LIST\" END DEFINE DEFINE TOKEN new_line - /DESCRIPTION="NEW_LINE in-text command" - /TOPIC="" "\NEW_LINE\" END DEFINE DEFINE TOKEN note - /DESCRIPTION="NOTE in-text command" - /TOPIC="" "\NOTE\ {~text~} \NONOTE\" END DEFINE DEFINE TOKEN number_list - /DESCRIPTION="NUMBER_LIST in-text command" - /TOPIC="" "\NUMBER_LIST\ {~text~} \END_LIST\" END DEFINE DEFINE TOKEN paragraph - /DESCRIPTION="PARAGRAPH in-text command" - /TOPIC="" "\PARAGRAPH\" END DEFINE DEFINE TOKEN space - /DESCRIPTION="SPACE in-text command" - /TOPIC="" "\SPACE\" END DEFINE DEFINE TOKEN two_space - /DESCRIPTION="TWO_SPACE in-text command" - /TOPIC="" "\TWO_SPACE\" END DEFINE DEFINE TOKEN underline - /DESCRIPTION="UNDERLINE in-text command" - /TOPIC="" "\UNDERLINE\ {~text~} \NOUNDERLINE\" END DEFINE ! !+ ! Various "number" placeholders !- DEFINE PLACEHOLDER number - /DESCRIPTION="a decimal number" - /DUPLICATION=HORIZONTAL - /SEPARATOR="," - /TOPIC="" - /TYPE=TERMINAL "any decimal number" END DEFINE DEFINE PLACEHOLDER chapter-number /PLACEHOLDER=number DEFINE PLACEHOLDER table-number /PLACEHOLDER=number DEFINE PLACEHOLDER table-width /PLACEHOLDER=number DEFINE PLACEHOLDER blank-line-count /PLACEHOLDER=number ! !+ ! Subordinate placeholders !- DEFINE PLACEHOLDER attribute-keyword - /DESCRIPTION="COLUMN attribute keyword" - /DUPLICATION=HORIZONTAL - /SEPARATOR="," - /TOPIC="" - /TYPE=MENU "[NO]BOLD" "CENTER" "[NO]FILL" "FLUSH_LEFT" "FLUSH_RIGHT" "[NO]JUSTIFY" "SPAN" "[NO]UNDERLINE" END DEFINE DEFINE PLACEHOLDER control_character - /DESCRIPTION="alternate control character" - /TOPIC="" - /TYPE=TERMINAL "alternate control (quoting) character" END DEFINE DEFINE PLACEHOLDER column-attributes - /DESCRIPTION="column attributes" - /TOPIC="" - /TYPE=NONTERMINAL ": {~attribute-keyword~}..." END DEFINE DEFINE PLACEHOLDER no - /DESCRIPTION="""NO"" keyword prefix" - /TOPIC="" - /TYPE=NONTERMINAL "NO" END DEFINE DEFINE PLACEHOLDER tab_character - /DESCRIPTION="alternate tab character" - /TOPIC="" - /TYPE=TERMINAL "alternate tab character" END DEFINE DEFINE PLACEHOLDER text - /DESCRIPTION="string of text" - /TOPIC="" - /TYPE=TERMINAL "any string of text" END DEFINE