Initial import of the CDE 2.1.30 sources from the Open Group.

This commit is contained in:
Peter Howkins
2012-03-10 18:21:40 +00:00
commit 83b6996daa
18978 changed files with 3945623 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
XCOMM $XConsortium: Imakefile /main/1 1996/02/27 18:28:20 lehors $
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
SUBDIRS = tptregexp
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
LintSubdirs($(LINTSUBDIRS))

View File

@@ -0,0 +1,876 @@
# Copyright (c) 1993 Open Software Foundation, Inc.
# All rights reserved.
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# ______________________________________________________________________
#
# book (and refpage) to HTML
#
# $XConsortium: book-html.ts /main/2 1996/07/18 14:21:17 drk $
# ______________________________________________________________________
#
Var: Auth Open Software Foundation
Var: part 1
Var: chap 1
Var: sect 1
Var: subsect 1
Var: app 1
# ______________________________________________________________________
GI: TITLE
Context: DISPLAY
Relation: sibling TABLE
StartText: ^<P><B>
EndText: </B>^\n
-
GI: DISPLAY
Relation: child TABLE
StartText: ^<BLOCKQUOTE>^${_attval ID 76}^
EndText: ^${_attval ID 77}</BLOCKQUOTE>^
-
GI: DISPLAY
AttValue: WRAP NOWRAP
StartText: ^\n<BLOCKQUOTE>^<PRE>^${_attval ID 76}^
EndText: ^</PRE>^${_attval ID 77}</BLOCKQUOTE>^\n
-
GI: TITLE
Context: DISPLAY
Relation: sibling GRAPHIC
StartText: ^<P><B>
EndText: </B>^\n
-
# default display
GI: DISPLAY
StartText: ^<!-- start of display -->^<BLOCKQUOTE>^${_attval ID 76}^
EndText: ^${_attval ID 77}</BLOCKQUOTE>^<!-- end of display -->^\n
-
GI: TITLE
Context: DISPLAY
StartText: ^
EndText: ^
-
GI: TEXT-AS-FIGURE
StartText: ^\n<PRE>^
EndText: ^</PRE>^\n
-
# ______________________________________________________________________
GI: PROGLANG-SYNOPSIS
StartText: ^\n<P>
EndText: ^\n
-
GI: INCLUDE
StartText: ^
EndText: ^
-
# GI: DATA-DECLARATION
# StartText: ^
# EndText: ^
#-
GI: DATA-DECLARATION
Message: \nDATA-DECLARATION element not supported\n
-
GI: FILE-SYNOPSIS
StartText: ^\n<P>
EndText: ^\n
-
GI: CMD-SYNOPSIS
StartText: ^\n<P>
EndText: ^\n
-
# GI: CMD-ARGUMENT
# StartText: \s
# EndText: \s
# -
GI: CMD-ARGUMENT
Message: \nCMD-ARGUMENT element no longer supported\n
-
# ______________________________________________________________________
GI: LITERAL COMMAND FUNCTION FILE DIRECTORY DATATYPE E-MAIL OPTION-NAME
StartText: <B>
EndText: </B>
-
GI: VARIABLE
StartText: <VAR>
EndText: </VAR>
-
GI: EMPHASIS
StartText: <EM>
EndText: </EM>
-
GI: SUBSCRIPT
StartText: subscript(
EndText: )
-
GI: SUPERSCRIPT
StartText: superscript(
EndText: )
-
GI: TRADEMARK
StartText: <B>
EndText: </B>
-
GI: PERSON PLACE HONORIFIC DATE TIME TELEPHONE NUMBER ACRONYM
-
GI: KEYBOARD-INPUT
StartText: <KBD>
EndText: </KBD>
-
GI: COMPUTER-OUTPUT
Relation: ancestor DISPLAY
StartText: ^<LISTING>^
EndText: ^</LISTING>^
-
GI: COMPUTER-OUTPUT
StartText: <SAMP>
EndText: </SAMP>
-
GI: KEYBOARD-KEY
StartText: <TT>&lt;
EndText: &gt;</TT>
-
GI: INPUT-INSTRUCT
StartText: <I>
EndText: </I>
-
GI: GUI-TEXT
StartText: <B>
EndText: </B>
-
GI: FOREIGN-PHRASE
StartText: <EM>
EndText: </EM>
-
GI: LOGICAL-NEGATION
StartText: ^.ul 1^
EndText: ^
-
GI: MISC-DATA
-
GI: MARKUP
AttValue: LANG sgml
AttValue: CATEGORY elem.*
StartText: <B>&lt;
EndText: &gt;</B>
-
GI: MARKUP
AttValue: CATEGORY (attr|entity)
StartText: <B>
EndText: </B>
-
GI: MARKUP
StartText: <B>&lt;
EndText: &gt;</B>
-
GI: SPECIAL-FORMAT
AttValue: SMALLCAPS SMALLCAPS
StartText: [
EndText: ]
-
GI: SPECIAL-FORMAT
AttValue: HORIZKEEP NOBREAK
StartText: ^.DS^
EndText: ^.DE^
-
# a bit if a hack
GI: SPECIAL-FORMAT
AttValue: STYLE .
StartText: [\\${STYLE}\s
EndText: ]
-
GI: EXCERPT
StartText: ^<BLOCKQUOTE>
EndText: </BLOCKQUOTE>^
-
GI: QUOTE
StartText: ``
StartText: ''
-
# ______________________________________________________________________
GI: P
Context: ITEM
StartText: ^
EndText: ^
-
# label/item for labeled list
GI: LABEL
StartText: ^<DT>
EndText: ^
-
GI: ITEM
Context: L-ITEM
StartText: ^<DD>
EndText: ^
-
# item for general list
GI: ITEM
StartText: ^<LI>
EndText: ^
-
GI: LIST
Relation: child L-ITEM
StartText: ^<DL>^
EndText: ^</DL>^
-
GI: LIST
Relation: child ITEM
AttValue: TYPE UNORDERED
StartText: ^<UL>^
EndText: ^</UL>^
-
GI: LIST
Relation: child ITEM
AttValue: TYPE ORDERED
StartText: ^<OL>^
EndText: ^</OL>^
-
# default general list
GI: LIST
Relation: child ITEM
StartText: ^<UL>^
EndText: ^</UL>^
-
# procedure list
GI: LIST
Relation: child PROCEDURE-STEP
StartText: ^<UL>^
EndText: ^.LE^
-
GI: PROCEDURE-STEP
StartText: ^<LI>
EndText: ^
-
# note list
GI: LIST
Relation: child NOTE
StartText: ^
EndText: ^
-
# hack?? I have not tried this yet.
GI: BRIDGE-P
StartText: ^.P^
EndText: ^
-
GI: L-ITEM
EndText: ^
-
# ______________________________________________________________________
GI: ROW
StartText: ^
EndText: ^
-
GI: TITLE-ROW
StartText: ^
EndText: ^
-
GI: CELL
Context: TITLE-ROW
Relation: sibling+ CELL
#StartText:
EndText: \ |\s
-
GI: CELL
Context: TITLE-ROW
#StartText:
#EndText:
-
GI: CELL
Relation: sibling+ CELL
#StartText:
EndText: \ |\s
-
GI: CELL
#StartText:
#EndText:
-
# if you want a table title/caption, put it in a display
GI: TABLE
StartText: ^\n<!-- Table -->^<PRE>^
Table Markup omitted.
EndText: ^</PRE>^\n
Ignore: all
-
# ______________________________________________________________________
GI: NOTE
Relation: child TITLE
StartText: ^<BLOCKQUOTE>^
EndText: ^</BLOCKQUOTE>^
-
GI: NOTE
StartText: ^<BLOCKQUOTE>^<B>Note</B>^
EndText: ^</BLOCKQUOTE>^
-
GI: TITLE
Context: NOTE
StartText: ^<B>
EndText: </B>^
-
GI: ANNOTATION
StartText: ^<BLOCKQUOTE>^<B>Annotation</B>^
EndText: ^</BLOCKQUOTE>^
-
GI: FOOTNOTE
StartText: ^<BLOCKQUOTE>^<B>Footnote</B>^
EndText: ^</BLOCKQUOTE>^
-
GI: NOTEREF
-
# ______________________________________________________________________
GI: _
SpecID: 98
-
GI: REF-NAME
Relation: ancestor BODY
StartText: <H2>Name</H2>^<P>
EndText: \ --\s
SpecID: 19
-
GI: REF-NAME
Relation: ancestor SUPPLEMENTS
Action: 19
-
GI: REF-NAME
StartText: ^<TITLE>
EndText: </TITLE>^\n<H2>Name</H2>^<P>${_action 98} --\s
#EndText: " ${_pattr CATEGORY}^.SH "Name"^${_action 98} --\s
-
GI: REF-PURPOSE
#StartText:
EndText: ^\n
-
GI: TITLE
Context: RSECTION
StartText: ^<H2>
EndText: </H2>^
-
GI: TITLE
Context: RSUBSECTION
StartText: ^<H3>
EndText: </H3>^
-
GI: TITLE
Context: RDIVISION
StartText: ^<H3>
EndText: </H3>^
-
GI: RSECTION
StartText: ^
EndText: ^
-
GI: RSUBSECTION
StartText: ^
EndText: ^
-
GI: RDIVISION
StartText: ^
EndText: ^
-
GI: OSF-REFPAGE
StartText: ^<!-- Start OSF-REFPAGE -->
EndText: ^<!-- End OSF-REFPAGE -->^
-
# ______________________________________________________________________
GI: MESSAGE
StartText: ^<!-- Message -->^<DL>^
EndText: ^</DL>^
-
GI: MSG-CODE
Context: MESSAGE
StartText: ^<DT><B>Code</B></DT>^<DD>
EndText: ^
-
GI: MSG-SYMBOL
StartText: ^<DT><B>Symbol</B></DT>^<DD>
EndText: ^
-
GI: MSG-TEXT
StartText: ^<DT><B>Text</B></DT>^<DD>
Context: MESSAGE
EndText: ^
-
GI: MSG-TYPE
StartText: ^<DT><B>Type</B></DT>^<DD>
EndText: ^
-
GI: MSG-DESC
StartText: ^<DT><B>Description</B></DT>^<DD>
EndText: ^
-
GI: MSG-CAUSE
StartText: ^<DT><B>Cause</B></DT>^<DD>
EndText: ^
-
GI: MSG-AUDIENCE
StartText: ^<DT><B>Audience</B></DT>^<DD>
EndText: ^
-
GI: MSG-RESP
StartText: ^<DT><B>Response</B></DT>^<DD>
EndText: ^
-
GI: MSG-ORIGIN
StartText: ^<DT><B>Origin</B></DT>^<DD>
EndText: ^
-
GI: P
Context: MSG-DESC
NthChild: 1
Action: 2
-
GI: P
Context: MSG-CAUSE
NthChild: 1
Action: 2
-
GI: P
Context: MSG-RESP
NthChild: 1
Action: 2
-
# ______________________________________________________________________
GI: TITLE
Context: OSF-BOOK
StartText: ^<TITLE>
EndText: </TITLE>^
-
# ______________________________________________________________________
# "default" handling of some common and keydata elements
GI: P
StartText: ^<P>^
EndText: ^\n
-
GI: MSG-CODE
StartText: <B>
EndText: </B>
-
GI: MSG-TEXT
#StartText: {
#EndText: }
-
# ______________________________________________________________________
GI: TOC
Context: NAVIGATION AUGMENTUM OSF-BOOK
StartText: ^\n
EndText: ^
-
GI: INDEX
Replace: ^<!-- This document wants an index -->
Ignore: all
-
GI: BIBLIOGRAPHY
Replace: ^<!-- This document wants a bibliography -->
EndText: ^
-
GI: GLOSSARY
StartText: ^% This document wants a glossary:\s
EndText: ^
-
# ______________________________________________________________________
# Set page number to 1 (roman) for TOC and friends
GI: AUGMENTUM
Context: OSF-BOOK
StartText: ^
EndText: ^
-
GI: NAVIGATION
-
GI: HY-LOCATOR
Ignore: all
-
# ignore until we know how to process these
GI: HY-CONCEPT
Context: META
Ignore: all
-
GI: HY-CONCEPT
Ignore: all
-
GI: HY-DEF
-
GI: HY-TERM
-
# ----
GI: ENTRY
AttValue: DAVROLE glossary
StartText: ^.gL "
EndText: "^
-
# (check for some content to avoud empty tag)
GI: ENTRY
Content: .
AttValue: DAVROLE index
StartText: ${_attval ID 76}
EndText: ${_attval ID 77}
Ignore: children
-
GI: ENTRY
-
# ----
GI: XREF
AttValue: OSFROLE gettitle
StartText: Get-Title
-
GI: XREF
AttValue: OSFROLE getnumber
#StartText: Get-Division-Number
EndText: \ <A HREF="#${LINKEND}">go there</A>
-
GI: XREF
AttValue: OSFROLE getpage
EndText: \ <A HREF="#${LINKEND}">go there</A>
-
# Print GI name, in mixed case
GI: _pr_gi_name
SpecID: 87
Ignore: all
EndText: ${_gi M}
-
# GI name
GI: XREF
AttValue: OSFROLE gettype
EndText: ${_followlink 87}
-
# name of refpage
GI: XREF
AttValue: OSFROLE getrefname
Replace: <B>${_chasetogi REF-NAME 1}</B>
-
# title and page number -- page is the input file
GI: XREF
AttValue: OSFROLE getshort
Replace: <B>${_chasetogi TITLE 1}</B>, <A HREF="${_infile}">page</A>
-
# section number, title, and page number
GI: XREF
AttValue: OSFROLE getfull
Replace: ${_followlink 87} <A HREF="#${LINKEND}">go there</A>,\s
<B>${_chasetogi TITLE 1}</B>, <A HREF="${_infile}">page</A>
-
GI: XREF
-
# ----
GI: HY-BIB-DESCRIPTION
StartText: <I>
EndText: </I>
-
GI: HY-NMLIST
Ignore: all
-
# ______________________________________________________________________
GI: META
Ignore: all
-
GI: DOC-ID
Ignore: all
-
GI: AUTHOR-INFO
StartText: ^<ADDRESS>^
EndText: ^</ADDRESS>^
-
GI: PERSON
Context: AUTHOR-INFO
StartText: ^
EndText: ^
-
GI: AUTH-AFFILIATION ADDRESS
StartText: ^
EndText: ^
-
GI: PRODUCT
Context: MESSAGE
Ignore: all
-
GI: VALID-DATE PRODUCT
-
GI: PRODUCT-NAME PRODUCT-VERSION
StartText: \s
EndText: \s
-
GI: NOTICES DISCLAIMER COPYRIGHTS
StartText: ^\n
EndText: ^\n
-
GI: OWNER STATEMENT YEAR
Context: COPYRIGHT-NOTICE
Ignore: all
-
GI: COPYRIGHT-NOTICE
StartText: ^Copyright (c) ${_followrel child YEAR 1}\s
${_followrel child OWNER 1} ${_followrel child STATEMENT 1}
EndText: ^.br^
-
GI: STATEMENT
StartText: \s
-
GI: TRADEMARKS
StartText: ^<P>
-
GI: TRADEMARK-PAIR
StartText: ^<P>
EndText: ^
-
#GI: PRODUCT-ID
#StartText: ^
#-
GI: AUDIENCE
StartText: ^<P>
EndText: ^
-
# ______________________________________________________________________
GI: REV-BRACKET
StartText: ^<!-- REV bracket -->^
-
GI: I18N-BRACKET REV-DESCRIPTION OCCURRENCES OCC-ASYNC OCC-SYNC
-
GI: DESC-POOL
Ignore: all
-
GI: REV-DESCRIPTION
Ignore: all
-
# ______________________________________________________________________
GI: GRAPHIC
Context: DISPLAY
#StartText: ^<IMG SRC="${_filename}">^
Replace: ^<P><A HREF="${_filename}">Click for PostScript image.</A><P>^
-
GI: GRAPHIC
Replace: ^<A HREF="${_filename}">Click for PostScript image.</A>^
-
GI: EQUATION
Context: DISPLAY
StartText: ^<BLOCKQUOTE>^
EndText: ^</BLOCKQUOTE>^
-
GI: EQUATION
StartText: ^<P>TeX equatin:\s
EndText: ^<P>
-
# ______________________________________________________________________
GI: _anch-title-start
SpecID: 71
Replace: ${_attval ID 76}
-
GI: _anch-title-end
SpecID: 72
Replace: ${_attval ID 77}
-
GI: TITLE
Context: SECTION
SpecID: 12
StartText: ^<H2>${chap}.${sect} ${_followrel parent SECTION 71}
EndText: ${_followrel parent SECTION 72}</H2>^
-
GI: TITLE
Context: CHAPTER
SpecID: 11
StartText: ^<H1>Chapter ${chap}: ${_followrel parent CHAPTER 71}
EndText: ${_followrel parent CHAPTER 72}</H1>^
-
GI: TITLE
Context: PART
SpecID: 14
StartText: ^<H1>Part ${part}:\s
EndText: </H1>^
-
GI: TITLE
Context: DIVISION CHAPTER
Action: 12
-
GI: TITLE
Context: DIVISION APPENDIX
Action: 12
-
GI: TITLE
Context: DIVISION BODY
Action: 11
-
GI: TITLE
Context: DIVISION SECTION
SpecID: 13
Increment: subsect
StartText: ^<H3>${chap}.${sect}.${subsect}\s
EndText: </H3>^
-
GI: TITLE
Context: DIVISION DIVISION SECTION
StartText: ^<H4>
EndText: </H4>^
-
GI: TITLE
Context: DIVISION
Context: DIVISION DIVISION BODY
Action: 13
-
GI: TITLE
Context: DIVISION DIVISION BODY
Action: 12
-
GI: TITLE
Context: DIVISION BODY
Action: 11
-
GI: TITLE
Context: DIVISION DIVISION
StartText: ^<H4>
EndText: </H4>^
-
GI: CHAPTER
StartText: ^<!-- Start CHAPTER: ch-${chap}: ${_followrel child TITLE 1} -->^
EndText: ^<!-- End CHAPTER -->^
Increment: chap
Set: sect 1
-
GI: SECTION
StartText: ^<!-- Start SECTION: ${_followrel child TITLE 1} -->^
EndText: ^<!-- End SECTION -->^
Increment: sect
Set: subsect 1
-
GI: DIVISION
StartText: ^
EndText: ^
-
GI: PART
StartText: ^<!-- Start PART: -: ${_followrel child TITLE 1} -->^
EndText: ^<!-- End PART -->^
Increment: part
#Var: chap 1
-
GI: PREFACE
StartText: ^<!-- Start PREFACE: preface: ${_followrel child TITLE 1} -->^
EndText: ^<!-- End PREFACE -->^
-
GI: PDIVISION
StartText: ^
EndText: ^
-
GI: TITLE
Context: PREFACE
StartText: ^<H1>${_followrel parent PREFACE 71}
EndText: ${_followrel parent PREFACE 72}</H1>^
-
GI: TITLE
Context: PDIVISION
StartText: ^<H2>${_followrel parent PDIVISION 71}
EndText: ${_followrel parent PDIVISION 72}</H2>^
-
GI: TITLE
Context: APPENDIX
StartText: ^<H1>Appendix ${app}: ${_followrel parent APPENDIX 71}
EndText: ${_followrel parent APPENDIX 72}</H1>^
-
GI: APPENDIX
StartText: ^<!-- Start PREFACE: app-${app}: ${_followrel child TITLE 1} -->^
EndText: ^<!-- End APPENDIX -->^
Increment: app
Var: sect 1
-
GI: SUPPLEMENTS
StartText: ^<!-- Start SUPPLEMENTS -->
EndText: ^<!-- End SUPPLEMENTS -->^
-
GI: BODY
StartText: ^
EndText: ^
StartText: ^<!-- Start BODY -->
EndText: ^<!-- End BODY -->^
-
GI: OSF-BOOK
StartText: ^
EndText: ^
-
# ______________________________________________________________________
GI: TITLE
#StartText: "
#EndText: ^
Message: +++ TITLE??\n${_location}\n
-
GI: ALT-TITLE
Ignore: all
#StartText: ^... Alt title:\s
#EndText: ^
-
GI: AUGMENTUM
Ignore: all
-
GI: PRELIMINARIES
StartText: ^<!-- Start PRELIMINARIES -->
EndText: ^<!-- End PRELIMINARIES -->^
-
GI: YEAR
-
# ______________________________________________________________________
GI: BRIDGE-TITLE
StartText: ^\n<B>
EndText: </B>^
-
# ______________________________________________________________________
# Some named specs, used throughout.
GI: _pass-text
SpecID: 1
-
#
GI: _osf-size
Replace:
-
GI: _osf-indent
Replace:
-
GI: _osf-center
Replace:
-
GI: _osf-break
Replace:
-
GI: _osf-point-size
Replace:
-
GI: _osf-space
Replace:
-
GI: _osf-new-page
Replace:
-
# a "paragraph", with no .P
GI: _no-dot-P
SpecID: 2
StartText: ^
EndText: ^
-
# Just output the anchor tag and ID. No content.
GI: _name
SpecID: 76
StartText: <A NAME="${ID id}">
Ignore: all
-
GI: _name-end
SpecID: 77
StartText: </A>
Ignore: all
-
# ______________________________________________________________________
#
GI: _Start
StartText: ^
-
GI: _End
EndText: ^
-
# ______________________________________________________________________

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
# ______________________________________________________________________
# Copyright 1993 Open Software Foundation, Inc., Cambridge, Massachusetts.
# All rights reserved.
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# This will return the book's title, marked up for SML's Headers/* files
# Just the text is returned.
#
# $XConsortium: book-title-header.ts /main/2 1996/07/18 14:22:12 drk $
# ______________________________________________________________________
#
GI: TITLE
Context: OSF-BOOK
StartText: ^.ds !@\s
EndText: ^
-
# Ignore all other child elements of the book
GI: META BODY AUGMENTUM PRELIMINARIES SUPPLEMENTS
Ignore: all
-
GI: ALT-TITLE
Ignore: all
Message: Warning: Ignoring ALT-TITLE within TITLE.\n
-
# Pass characters of child elements of book's TITLE.
GI: *
-

View File

@@ -0,0 +1,173 @@
# ______________________________________________________________________
# Copyright 1993 Open Software Foundation, Inc., Cambridge, Massachusetts.
# All rights reserved.
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# $XConsortium: book-toc.ts /main/2 1996/07/18 14:22:29 drk $
# ______________________________________________________________________
#
# This is for printing a TOC/outline of an instance as text.
# Only division titles will be printed.
# ______________________________________________________________________
Var: part 1
Var: chap 1
Var: sect 1
Var: subsect 1
Var: app 1
#
# ______________________________________________________________________
GI: DIVISION
Context: SECTION
SpecID: 12
StartText: ^ ${subsect}.\s
EndText: ^
Increment: subsect
-
GI: SECTION
SpecID: 11
StartText: ^ ${sect}.\s
EndText: ^
Set: subsect 1
Increment: sect
-
GI: CHAPTER
SpecID: 10
StartText: ^Chapter ${chap}.\s
EndText: ^
Set: sect 1
Increment: chap
-
GI: PART
StartText: ^\nPart ${part}:\s
EndText: ^
Increment: part
-
GI: APPENDIX
SpecID: 15
StartText: ^${app}.\s
EndText: ^
Set: sect 1
Increment: app
-
GI: DIVISION
Context: APPENDIX
Action: 11
-
# ______________________________________________________________________
GI: DIVISION
Context: DIVISION DIVISION BODY
Action: 12
-
GI: DIVISION
Context: DIVISION BODY
Action: 11
-
GI: DIVISION
Context: CHAPTER
Action: 11
-
GI: DIVISION
Context: BODY
Action: 10
-
# ______________________________________________________________________
GI: PREFACE
StartText: ^
-
GI: PDIVISION
StartText: ^ \s
-
# ______________________________________________________________________
GI: OSF-REFPAGE
StartText: \n
-
GI: REF-NAME
StartText: ^
EndText: \ --\s
-
GI: REF-PURPOSE
#StartText:
EndText: ^\n
-
GI: SUB-NAME
StartText: ^ \s
-
GI: SUB-PURPOSE
StartText: \t
-
GI: RSECTION
SpecID: 21
StartText: ^ \s
EndText: ^
-
GI: RSUBSECTION
SpecID: 22
StartText: ^ \s
EndText: ^
-
GI: RDIVISION
Context: RSUBSECTION
SpecID: 23
StartText: ^ \s
EndText: ^
-
GI: RDIVISION
Context: RDIVISION RDIVISION REFPAGE
Action: 23
-
GI: RDIVISION
Context: RDIVISION REFPAGE
Action: 22
-
GI: RDIVISION
Context: REFPAGE
Action: 21
-
# ______________________________________________________________________
GI: OSF-BOOK
-
GI: BODY
StartText: \n
-
GI: SUPPLEMENTS
StartText: \nAppendixes^
-
GI: PRELIMINARIES
StartText: \n
-
# ______________________________________________________________________
GI: TITLE
EndText: ^
-
GI: ALT-TITLE
StartText: ^ [
EndText: ]^
-
# ______________________________________________________________________
# Pass through text of things inside a title
Relation: ancestor TITLE
-
Relation: ancestor REF-NAME
-
Relation: ancestor REF-PURPOSE
-
#
# Wildcard - skip all other elements...
GI: *
Ignore: all
-
# ______________________________________________________________________

View File

@@ -0,0 +1,197 @@
# ______________________________________________________________________
# Copyright 1993 Open Software Foundation, Inc., Cambridge, Massachusetts.
# All rights reserved.
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# $XConsortium: book-toc_ps.ts /main/2 1996/07/18 14:22:43 drk $
# ______________________________________________________________________
#
# This is for printing a TOC/outline of an instance in PostScript.
# Only division titles will be printed.
# ______________________________________________________________________
Var: part 1
Var: chap 1
Var: sect 1
Var: subsect 1
Var: app 1
#
# ______________________________________________________________________
GI: DIVISION
Context: SECTION
SpecID: 12
StartText: ^${_followrel child TITLE 1000}\s
( ${chap}.${sect}.${subsect}) 10 DivTitle^
Increment: subsect
-
GI: SECTION
SpecID: 11
StartText: ^${_followrel child TITLE 1000} ( ${chap}.${sect}) 12 DivTitle^
Set: subsect 1
Increment: sect
-
GI: CHAPTER
SpecID: 10
StartText: ^${_followrel child TITLE 1000} (Chapter ${chap}:) 14 DivTitle^
Set: sect 1
Increment: chap
-
GI: PART
StartText: ^${_followrel child TITLE 1000} (Part ${part}:) 16 DivTitle^
Increment: part
-
GI: APPENDIX
SpecID: 15
StartText: ^${app}.\s
StartText: ^${_followrel child TITLE 1000} (Appendix ${app}:) 14 DivTitle^
Set: sect 1
Increment: app
-
GI: DIVISION
Context: APPENDIX
StartText: ^${_followrel child TITLE 1000} ( ${app}.${sect}) 14 DivTitle^
Set: subsect 1
Increment: sect
-
# ______________________________________________________________________
GI: DIVISION
Context: DIVISION DIVISION BODY
Action: 12
-
GI: DIVISION
Context: CHAPTER
Action: 11
-
GI: DIVISION
Context: DIVISION BODY
Action: 11
-
GI: DIVISION
Context: BODY
Action: 10
-
# ______________________________________________________________________
GI: PREFACE
StartText: ^${_followrel child TITLE 1000} () 14 DivTitle^
-
GI: PDIVISION
StartText: ^${_followrel child TITLE 1000} ( ) 12 DivTitle^
-
# ______________________________________________________________________
GI: OSF-REFPAGE
StartText: \n(${_followrel child REF-PURPOSE 1001})\s
(Refpage: ${_followrel child REF-NAME 1001} \\267) 14 DivTitle
-
GI: SUB-NAME
StartText: ^ \s
-
GI: SUB-PURPOSE
StartText: \t
-
GI: RSECTION
SpecID: 21
StartText: ^${_followrel child TITLE 1000} ( ) 12 DivTitle^
-
GI: RSUBSECTION
SpecID: 22
StartText: ^${_followrel child TITLE 1000} ( ) 10 DivTitle^
-
GI: RDIVISION
Context: RSUBSECTION
SpecID: 23
StartText: ^${_followrel child TITLE 1000} ( ) 10 DivTitle^
-
GI: RDIVISION
Context: RDIVISION RDIVISION REFPAGE
Action: 23
-
GI: RDIVISION
Context: RDIVISION REFPAGE
Action: 22
-
GI: RDIVISION
Context: REFPAGE
Action: 21
-
# ______________________________________________________________________
GI: OSF-BOOK
StartText: ^${_followrel child TITLE 1000} 20 BkTitle^
-
GI: BODY
StartText: \n
-
GI: SUPPLEMENTS
StartText: \n
-
GI: PRELIMINARIES
-
# ______________________________________________________________________
# This just descends tree...
GI: _TITLE
SpecID: 1000
StartText: (
EndText: )
-
# Same, but no parens...
GI: _TITLE
SpecID: 1001
-
GI: ALT-TITLE
Ignore: all
-
# ______________________________________________________________________
# Pass through text of things inside a title
Relation: ancestor TITLE
-
Relation: ancestor REF-NAME
-
Relation: ancestor REF-PURPOSE
-
#
# Wildcard - skip all other elements...
GI: *
Ignore: all
-
# ______________________________________________________________________
# PostScript prolog stuff
GI: _Start
StartText: %!^
/in {72 mul} bind def^
/Home {/X 1 in def /Y 10 in def} def^
/BkTitle { % (title) ps^
\ /ps exch def^
\ /Times-Bold findfont ps scalefont setfont^
\ X Y moveto 0 ps neg rmoveto^
\ dup stringwidth pop /w exch def w 2 div neg 3.25 in add 0 rmoveto^
\ show^
\ 0 -3 rmoveto w neg 0 rlineto stroke^
\ /Y Y ps 1.1 mul sub def^
} def^
/DivTitle { % (title) (divname) ps^
\ /ps exch def^
\ /Times-Roman findfont ps scalefont setfont^
\ X Y moveto 0 ps neg rmoveto^
\ show ( ) show show^
\ /Y Y ps 1.1 mul sub def^
\ % check for end of page^
\ Y 1 in lt { showpage Home } if^
} def^
\nHome^
-
GI: _End
EndText: ^showpage^\n
-
# ______________________________________________________________________

View File

@@ -0,0 +1,52 @@
# ______________________________________________________________________
# Copyright 1993 Open Software Foundation, Inc., Cambridge, Massachusetts.
# All rights reserved.
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# $XConsortium: depend.ts /main/2 1996/07/18 14:22:57 drk $
# ______________________________________________________________________
#
# Generate part of the dependency list for Makefiles.
# For referenced graphic entities, output a line like:
# input-file.sgml: graphic-file.eps
# For elements whose name matches a blessed list, output a line like this:
# ID.latex: input-file.sgml
#
# These are sane places where you can start formatting
GI: CHAPTER SECTION DIVISION DISPLAY TABLE APPENDIX LIST
OSF-REFPAGE PART PREFACE PDIVSION OSF-BOOK
StartText: ${_attval ID 10}
Ignore: data
-
GI: GRAPHIC
Replace: ${_infile root}.dvi:\t${_filename}\n
-
GI: XREF
Replace: ${_infile root}.dvi:\t${_followlink LINKEND 20}\n
-
GI: *
Ignore: data
-
GI: _id
SpecID: 10
Replace: ${ID}.latex:\t${_infile}\n
-
GI: _xref
SpecID: 20
Replace: ${_infile}
#Message: XREF ${_infile}\n
-

View File

@@ -0,0 +1,575 @@
# Copyright (c) 1993 Open Software Foundation, Inc.
# All rights reserved.
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# ______________________________________________________________________
#
# refpage-to-man translation spec.
#
# $XConsortium: ref-man.ts /main/2 1996/07/18 14:23:11 drk $
# ______________________________________________________________________
#
Var: User !printenv USER
Var: Auth Open Software Foundation
# ______________________________________________________________________
GI: OSF-REFPAGE
StartText: ^
EndText: ^
-
# ______________________________________________________________________
GI: ROW
StartText: ^
EndText: ^${_osftable tbl rowend}^
-
GI: TITLE-ROW
StartText: ^
EndText: ^${_osftable tbl rowend}^
-
GI: CELL
Context: TITLE-ROW
Relation: sibling+ CELL
StartText: \\fB
EndText: \\fR@
-
GI: CELL
Context: TITLE-ROW
StartText: \\fB
EndText: \\fR
-
GI: CELL
Relation: sibling+ CELL
EndText: @
-
GI: CELL
-
GI: C-CELL
Relation: sibling+ C-CELL
StartText: T{^
EndText: ^T}@
-
GI: C-CELL
StartText: T{^
EndText: ^T}
-
# if you want a table title/caption, put it in a display
GI: TABLE
StartText: ^.TS^
${_osftable tbl}^${_osftable tbl top}^
EndText: ^${_osftable tbl bottom}^.TE^
-
# ______________________________________________________________________
#GI: TEXT-AS-FIGURE
#StartText: ^\n\\begin{verbatim}^
#EndText: ^\\end{verbatim}^\n
#-
GI: TITLE
Context: DISPLAY
Relation: sibling TABLE
StartText: ^.TB "
EndText: "^
-
GI: DISPLAY
Relation: child TABLE
#StartText: ^
#EndText: ^
-
GI: DISPLAY
AttValue: WRAP NOWRAP
StartText: ^.DS^.nf^
EndText: ^.ad^.DE^
-
GI: DISPLAY
AttValue: TYPE FIGURE
StartText: ^.DS^
EndText: ^.DE^
-
GI: TITLE
Context: DISPLAY
Relation: sibling GRAPHIC
StartText: ^.C 1^
EndText: ^
-
# default display
GI: DISPLAY
StartText: ^.DS^
EndText: ^.DE^
-
GI: TITLE
Context: DISPLAY
StartText: ^.C 1^
EndText: ^
-
# ______________________________________________________________________
GI: CMD-SYNOPSIS PROGLANG-SYNOPSIS FILE-SYNOPSIS
StartText: ^.na^.PP^
EndText: ^.ad^
-
GI: INCLUDE
StartText: ^.br^
EndText: ^.sp 1.5^
-
GI: DATA-DECLARATION
StartText: ^
EndText: ^
-
GI: CMD-ARGUMENT
AttValue: PRESENCE OPTIONAL
AttValue: REPEATABILITY REPEATABLE
StartText: \ [
EndText: \ ...]\s
-
GI: CMD-ARGUMENT
AttValue: REPEATABILITY REPEATABLE
StartText: \s
EndText: \ ...
-
GI: CMD-ARGUMENT
AttValue: PRESENCE OPTIONAL
StartText: \ [
EndText: ]\s
-
GI: CMD-ARGUMENT
StartText: \s
EndText: \s
-
# hack - should check value of parent's TYPE attr (for OR)
GI: OPTION-NAME
Context: CMD-ARGUMENT
PAttSet: TYPE
NthChild: 1
StartText: \ \\fB
EndText: \\fP\s
-
GI: OPTION-NAME
Context: CMD-ARGUMENT
PAttSet: TYPE
StartText: \ | \\fB
EndText: \\fP\s
-
GI: OPTION-NAME
Context: CMD-ARGUMENT
StartText: \ \\fB
EndText: \\fP\s
-
# ______________________________________________________________________
GI: LITERAL COMMAND FUNCTION FILE DIRECTORY DATATYPE E-MAIL
StartText: \\fB
EndText: \\fP
-
GI: VARIABLE EMPHASIS
StartText: \\fI
EndText: \\fP
-
GI: SUBSCRIPT
StartText: \\d\\s-2
EndText: \\s+2\\u
-
GI: SUPERSCRIPT
StartText: \\u\\s-2
EndText: \\s+2\\d
-
GI: TRADEMARK
StartText: \\fB
EndText: \\fP
-
GI: NUMBER DATE TIME PERSON PLACE HONORIFIC TELEPHONE YEAR ACRONYM
-
# change this if you have font C (Courier) instead of CW.
GI: KEYBOARD-INPUT
#StartText: \\fC
StartText: \\f(CW
EndText: \\fP
-
GI: COMPUTER-OUTPUT
Context: DISPLAY
#StartText: ^.DS^.nf^.ft CW^
#EndText: ^.ft R^.fi^.DE^
StartText: ^.nf^.ft CW^
EndText: ^.ft R^.fi^
-
GI: COMPUTER-OUTPUT
#StartText: \\fC
StartText: \\f(CW
EndText: \\fP
-
GI: KEYBOARD-KEY
StartText: <\\fB
EndText: \\fP>
-
GI: INPUT-INSTRUCT FOREIGN-PHRASE
StartText: \\fI
EndText: \\fP
-
GI: GUI-TEXT
StartText: \\fB
EndText: \\fP
-
GI: LOGICAL-NEGATION
StartText: ^.ul 1^
EndText: ^
-
GI: OPTION-NAME
StartText: \\fB
EndText: \\fP
-
GI: MISC-DATA
#StartText: {
#EndText: }
-
GI: MARKUP
AttValue: LANG sgml
AttValue: CATEGORY elem.*
StartText: \\fB<
EndText: >\\fP
-
GI: MARKUP
AttValue: CATEGORY (attr|entity)
StartText: \\fB
EndText: \\fP
-
GI: MARKUP
StartText: \\fB<
EndText: >\\fP
-
GI: SPECIAL-FORMAT
AttValue: SMALLCAPS SMALLCAPS
StartText: \\s-1
EndText: \\s+1
-
GI: SPECIAL-FORMAT
AttValue: HORIZKEEP NOBREAK
StartText: ^.DS^
EndText: ^.DE^
-
# a bit if a hack
GI: SPECIAL-FORMAT
AttValue: STYLE .
StartText: {\\${STYLE}\s
EndText: }
-
GI: EXCERPT
StartText: ^.br^.in +.7i^
EndText: ^.in^.br^
-
GI: QUOTE
StartText: ``
StartText: ''
-
# ______________________________________________________________________
# label/item for labeled list
GI: LABEL
StartText: ^.IP "
EndText: "^
-
GI: ITEM
Context: L-ITEM
StartText: ^
EndText: ^
-
# item for general list
GI: ITEM
StartText: ^.IP \\(bu^
EndText: ^
-
GI: _nested-list
SpecID: 881
#Replace: ^.RS 1cm^
Replace: ^.RS +\\n(INu^
-
GI: _nested-list
SpecID: 882
Replace: ^.RE^
-
GI: LIST
Relation: child L-ITEM
StartText: ^'br\\" labeled list^${_relation ancestor LIST 881}
EndText: ${_relation ancestor LIST 882}^'br\\" labeled list end^
-
GI: LIST
Relation: child ITEM
AttValue: TYPE UNORDERED
StartText: ^'br\\" unordered list^${_relation ancestor LIST 881}
EndText: ${_relation ancestor LIST 882}^^'br\\" unordered list end^
-
GI: LIST
Relation: child ITEM
AttValue: TYPE ORDERED
StartText: ^'br\\" ordered list^${_relation ancestor LIST 881}
EndText: ${_relation ancestor LIST 882}^^'br\\" ordered list end^
-
# default general list
GI: LIST
Relation: child ITEM
StartText: ^'br\\" unordered list^${_relation ancestor LIST 881}
EndText: ${_relation ancestor LIST 882}^^'br\\" unordered list end^
-
# procedure list
GI: LIST
Relation: child PROCEDURE-STEP
StartText: ^'br\\" procedure list^${_relation ancestor LIST 881}
EndText: ${_relation ancestor LIST 882}^^'br\\" procedure list end^
Set: stepnum 1
-
GI: PROCEDURE-STEP
StartText: ^.IP ${stepnum}. 2cm^
EndText: ^
Increment: stepnum
-
# note list
GI: LIST
Relation: child NOTE
StartText: ^
EndText: ^
-
# hack?? I have not tried this yet.
GI: BRIDGE-P
StartText: ^.PP^
EndText: ^
-
GI: L-ITEM
EndText: ^
-
GI: P
Context: ITEM
NthChild: 1
StartText: ^
EndText: ^
-
GI: P
Context: ITEM
StartText: ^.IP^
EndText: ^
-
# ______________________________________________________________________
GI: NOTE
Relation: child TITLE
StartText: ^.IP\s
EndText: ^
-
GI: NOTE
StartText: ^.IP Note: 2cm
EndText: ^
-
GI: TITLE
Context: NOTE
StartText: "
EndText: " 2 cm^
-
GI: ANNOTATION
StartText: ^.FS^
EndText: ^.FE^
Message: WARNING: Found ${_gi} in a manpage:\n${_location}\n
-
GI: FOOTNOTE
StartText: ^.FS^
EndText: ^.FE^
Message: WARNING: Found ${_gi} in a manpage:\n${_location}\n
-
GI: NOTEREF
-
# ______________________________________________________________________
# plain text...
GI: _
SpecID: 98
-
GI: REF-NAME
StartText: ^.TH "
EndText: " "${_pattr CATEGORY}"^.SH "Name"^${_action 98} -\s
-
GI: REF-PURPOSE
#StartText:
EndText: ^
-
GI: RSECTION
StartText: ^.SH\s
EndText: ^
-
GI: RSUBSECTION
StartText: ^.SS\s
EndText: ^
-
GI: RDIVISION
StartText: ^.SS\s
EndText: ^
-
GI: META
Ignore: all
-
GI: AUGMENTUM
Ignore: all
-
# ______________________________________________________________________
GI: BRIDGE-TITLE
StartText: ^.B "
EndText: "^
-
# ______________________________________________________________________
GI: MESSAGE
StartText: ^... Message^
-
GI: MSG-CODE
Context: MESSAGE
StartText: ^.LI "Code"^
EndText: ^
-
GI: MSG-SYMBOL
StartText: ^.LI "Symbol"^
EndText: ^
-
GI: MSG-TEXT
StartText: ^.LI "Text"^
Context: MESSAGE
EndText: ^
-
GI: MSG-TYPE
StartText: ^.LI "Type"^
EndText: ^
-
GI: MSG-DESC
StartText: ^.LI "Description"^
EndText: ^
-
GI: MSG-CAUSE
StartText: ^.LI "Cause"^
EndText: ^
-
GI: MSG-AUDIENCE
StartText: ^.LI "Audience"^
EndText: ^
-
GI: MSG-RESP
StartText: ^.LI "Response"^
EndText: ^
-
GI: MSG-ORIGIN
StartText: ^.LI "Origin"^
EndText: ^
-
# ______________________________________________________________________
# "default" handling of some common and keydata elements
GI: P
StartText: ^.PP^
EndText: ^
-
GI: MSG-CODE
StartText: \\fB
EndText: \\fP
-
GI: MSG-TEXT
#StartText: {
#EndText: }
-
GI: TITLE
StartText: "
EndText: "^
-
GI: ALT-TITLE
StartText: ^... Alt title:\s
EndText: ^
-
# ______________________________________________________________________
GI: TOC INDEX BIBLIOGRAPHY GLOSSARY NAVIGATION HY-LOCATOR HY-CONCEPT
Ignore: all
-
GI: HY-DEF HY-TERM
-
# ----
GI: ENTRY
AttValue: DAVROLE glossary
StartText: \\fB
EndText: \\fP
-
GI: ENTRY
AttValue: DAVROLE index
# no processing for manpage
-
GI: ENTRY
-
# ----
GI: XREF
AttValue: OSFROLE gettitle
StartText: Get-Title
-
GI: XREF
AttValue: OSFROLE getnumber
#StartText: Get-Division-Number
#EndText: \ \\ref{${LINKEND}}
-
GI: XREF
AttValue: OSFROLE getpage
#EndText: \ \\pageref{${LINKEND}}
-
GI: XREF
-
# ----
GI: HY-BIB-DESCRIPTION
StartText: \\fI
EndText: \\fP
-
# ______________________________________________________________________
GI: REV-BRACKET
StartText: ^'br rev-bracket^
-
GI: I18N-BRACKET REV-DESCRIPTION OCCURRENCES OCC-ASYNC OCC-SYNC
-
GI: DESC-POOL
Ignore: all
-
# ______________________________________________________________________
GI: GRAPHIC
Context: DISPLAY
StartText: ^'br\\" Graphic from file: ${_filename}^
EndText: ^
Message: WARNING: Found ${_gi} in a manpage:\n${_location}\n
-
GI: GRAPHIC
StartText: ^'br\\" Graphic from file: ${_filename}^
Message: WARNING: Found ${_gi} in a manpage:\n${_location}\n
-
GI: EQUATION
StartText: ^.EQ^
EndText: ^.EN^
-
# ______________________________________________________________________
#
GI: *
Message: Found element without a matching spec:\n${_location}\n
-
GI: _Start
StartText: ^'br Translated with ${transpec} by ${user} on ${host}, ${date}^
-
GI: _End
EndText: ^
-
# ______________________________________________________________________
#
# Processing Instructions
GI: _osf-break
Replace: ^.br^
-
GI: _osf-new-page
Replace: ^.bp^
-
GI: _osf-need
StartText: ^.ne\s
EndText: ^
-
GI: _osf-hyphen
Replace: -
-
# ______________________________________________________________________

View File

@@ -0,0 +1,743 @@
# Copyright (c) 1993 Open Software Foundation, Inc.
# All rights reserved.
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# ______________________________________________________________________
# $XConsortium: ref-tex.ts /main/2 1996/07/18 14:23:28 drk $
# ______________________________________________________________________
#
Var: User !printenv USER
#Var: Auth !egrep "^$USER:" /etc/passwd | sed -e 's/,.*//' -e 's/^.*://'
Var: Auth Open Software Foundation
#Var: Date !date
# ______________________________________________________________________
GI: AUGMENTUM
StartText: ^\\setcounter{page}{2}^
EndText: ^% recall ${_action 21}^
#Message: AUGMENTUM\n
-
# ______________________________________________________________________
GI: OSF-REFPAGE
StartText: ^\n\\begin{document}^
\\lhead{\\Pname} \\rhead{\\Pname} \\chead{OSF} \\rfoot{\\today}
EndText: ^\n\\end{document}^\n
-
GI: BODY
StartText: ^\n% start body^\\pagebreak^\\cleardoublepage^
\\pagenumbering{arabic}^\\setcounter{page}{1}
EndText: ^% end body^
-
GI: SECTION
StartText: ^\n\\section
EndText: ^
-
GI: CHAPTER
StartText: ^\n\\chapter
EndText: ^
-
GI: DIVISION
Context: SECTION
StartText: ^\n\\subsection
EndText: ^
-
GI: DIVISION
Context: DIVISION SECTION
StartText: ^\n\\subsubsection
EndText: ^
-
GI: DIVISION
Context: DIVISION
Message: ^Caught deep division (beyond subsubsection)!!\n${_location}
StartText: ^\n\\subsubsection*
EndText: ^
-
GI: TITLE
Context: CHAPTER
StartText: {
EndText: \\label{${_pattr ID}}}
-
GI: TITLE
Context: SECTION
StartText: {
EndText: \\label{${_pattr ID}}}
-
# ______________________________________________________________________
GI: ROW
StartText: ^
EndText: \\\\ \\hline^
-
GI: TITLE-ROW
StartText: ^
EndText: \\\\ \\hline\\hline^
-
GI: CELL
Context: TITLE-ROW
SibFollow: CELL
StartText: {\\bf\s
EndText: } &\s
-
GI: CELL
Context: TITLE-ROW
StartText: {\\bf\s
EndText: } \s
-
GI: CELL
SibFollow: CELL
StartText: {
EndText: } &\s
-
GI: CELL
StartText: {
EndText: }\s
-
# if you want a table title/caption, put it in a display
GI: TABLE
StartText: ^\n\\begin{center}^\\begin{tabular}{${HALIGN}} \\hline^
EndText: ^\\end{tabular}^\\end{center}^\n
-
# ______________________________________________________________________
GI: TEXT-AS-FIGURE
StartText: ^\n\\begin{verbatim}^
EndText: ^\\end{verbatim}^\n
-
GI: TITLE
Context: DISPLAY
Sibling: TABLE
StartText: ^\\caption{
EndText: }^
-
GI: DISPLAY
AttValue: IN-FLOW FLOAT
Child: TABLE
StartText: ^\n\\begin{table}^
EndText: ^\\end{table}^\n
-
GI: DISPLAY
Child: TABLE
StartText: ^\n\\begin{table}[h]^
EndText: ^\\end{table}^\n
-
GI: DISPLAY
AttValue: WRAP NOWRAP
StartText: ^\\begin{quote}^\\begingroup \\obeylines\\obeyspaces\\tt\\scriptsize^
EndText: ^\\endgroup^\\end{quote}^
-
GI: DISPLAY
AttValue: TYPE FIGURE
StartText: ^\\begin{figure}^
EndText: ^\\end{figure}^
-
GI: TITLE
Context: DISPLAY
Sibling: GRAPHIC
StartText: ^\\caption{
EndText: }^
-
# default display
GI: DISPLAY
StartText: ^\\begin{quote}^
EndText: ^\\end{quote}^
-
GI: TITLE
Context: DISPLAY
StartText: \\centerline{\\bf\\large\s
EndText: }
-
# ______________________________________________________________________
GI: PROGLANG-SYNOPSIS
StartText: ^\n% Prog lang synopsis^
EndText: ^\n
-
GI: INCLUDE
StartText: ^
EndText: \\vspace{2ex}\\\\^
-
GI: DATA-DECLARATION
StartText: ^{
EndText: }^
-
GI: FILE-SYNOPSIS
StartText: ^\n% File synopsis^
EndText: ^\n
-
GI: CMD-SYNOPSIS
StartText: ^\n% Command synopsis^
EndText: ^\n
-
GI: CMD-ARGUMENT
StartText: {
EndText: }
-
# ______________________________________________________________________
GI: LITERAL
StartText: {\\bf\s
EndText: }
-
GI: EMPHASIS
StartText: {\\em\s
EndText: }
-
GI: SUBSCRIPT
StartText: {\$\\sb{
EndText: }\$}
-
GI: SUPERSCRIPT
StartText: {\$\\sp{
EndText: }\$}
-
GI: ACRONYM
-
GI: TRADEMARK
StartText: {\\bf\s
EndText: }
-
GI: PERSON
-
GI: PLACE
-
GI: HONORIFIC
-
GI: DATE
-
GI: TIME
-
GI: TELEPHONE
-
# yes, a hack...
GI: YEAR
Context: COPYRIGHT-NOTICE
StartText: \\def\\copYr{
EndText: }
-
GI: YEAR
-
GI: E-MAIL
StartText: {\\bf\s
EndText: }
-
GI: NUMBER
-
GI: VARIABLE
StartText: {\\it\s
EndText: }
-
GI: COMMAND
StartText: {\\bf\s
EndText: }
-
GI: FUNCTION
StartText: {\\bf\s
EndText: }
-
GI: FILE
StartText: {\\bf\s
EndText: }
-
GI: DIRECTORY
StartText: {\\bf\s
EndText: }
-
GI: DATATYPE
StartText: {\\bf\s
EndText: }
-
GI: KEYBOARD-INPUT
StartText: {\\tt\s
EndText: }
-
GI: COMPUTER-OUTPUT
Context: DISPLAY
StartText: ^\\begin{verbatim}^
EndText: ^\\end{verbatim}^
-
GI: COMPUTER-OUTPUT
StartText: {\\tt\s
EndText: }
-
GI: KEYBOARD-KEY
StartText: {\$<\$\\bf\s
EndText: \$>\$}
-
GI: INPUT-INSTRUCT
StartText: {\\sl\s
EndText: }
-
GI: GUI-TEXT
StartText: {\\bf\s
EndText: }
-
GI: FOREIGN-PHRASE
StartText: {\\it\s
EndText: }
-
GI: LOGICAL-NEGATION
StartText: \$\\overline{
EndText: }\$
-
GI: OPTION-NAME
StartText: {\\bf\s
EndText: }
-
GI: MISC-DATA
StartText: {
EndText: }
-
GI: MARKUP
AttValue: LANG sgml
AttValue: CATEGORY elem.*
StartText: {\\bf\s\$<\$
EndText: \$>\$}
-
GI: MARKUP
AttValue: CATEGORY (attr|entity)
StartText: {\\bf\s
EndText: }
-
GI: MARKUP
StartText: {\\bf\s\$<\$
EndText: \$>\$}
-
GI: SPECIAL-FORMAT
AttValue: SMALLCAPS SMALLCAPS
StartText: {\\sc\s
EndText: }
-
GI: SPECIAL-FORMAT
AttValue: HORIZKEEP NOBREAK
StartText: \\mbox{
EndText: }
-
# a bit if a hack
GI: SPECIAL-FORMAT
AttValue: STYLE
StartText: {\\${STYLE}\s
EndText: }
-
GI: EXCERPT
StartText: ^\n\\begin{quote}^
EndText: ^\\end{quote}^
-
GI: QUOTE
StartText: ``
StartText: ''
-
# ______________________________________________________________________
# label/item for labeled list
GI: LABEL
StartText: ^\\item[{
EndText: }] \\ ^
-
GI: ITEM
Context: L-ITEM
StartText: ^\n
EndText: ^\n
-
# item for general list
GI: ITEM
StartText: ^\n\\item\s
-
GI: LIST
Child: L-ITEM
StartText: ^\n\\begin{description}^
EndText: ^\\end{description}^\n
#Message: -> LABELED LIST\n
-
GI: LIST
Child: ITEM
AttValue: TYPE UNORDERED
StartText: ^\n\\begin{itemize}^
EndText: ^\\end{itemize}^\n
-
GI: LIST
Child: ITEM
AttValue: TYPE ORDERED
StartText: ^\n\\begin{enumerate}^
EndText: ^\\end{enumerate}^\n
-
# default general list
GI: LIST
Child: ITEM
StartText: ^\n\\begin{itemize}^
EndText: ^\\end{itemize}^\n
-
# procedure list
GI: LIST
Child: PROCEDURE-STEP
StartText: ^\n\\begin{itemize}^
EndText: ^\\end{itemize}^\n
-
GI: PROCEDURE-STEP
StartText: ^\\item\s
-
# hack?? I have not tried this yet.
GI: BRIDGE-P
StartText: ^\\item{}\s
EndText: ^
-
GI: L-ITEM
-
# ______________________________________________________________________
GI: NOTE
Child: TITLE
StartText: ^\n\\osfnote{\\textwidth}{
EndText: }^\n
-
GI: NOTE
StartText: ^\n\\osfnote{\\textwidth}{Note:}{
EndText: }^\n
-
GI: TITLE
Context: NOTE
#StartText: {
EndText: }{
-
GI: P
Context: NOTE
-
GI: ANNOTATION
#StartText: ^\\osfannotation{
#EndText: }^\n
StartText: \\footnote{
EndText: }
-
GI: FOOTNOTE
StartText: \\footnote{
EndText: }
-
GI: P
Context: ANNOTATION
-
GI: P
Context: FOOTNOTE
EndText: ^
-
GI: NOTEREF
-
# ______________________________________________________________________
GI: REF-NAME
StartText: ^\\def\\Pname{
EndText: }^\\section*{Name}^{\\Pname} --\s
-
GI: REF-PURPOSE
#StartText:
EndText: ^
-
GI: RSECTION
StartText: ^\n\\section*
EndText: ^
-
GI: RSUBSECTION
StartText: ^\n\\subsection*
EndText: ^
-
GI: RDIVISION
StartText: ^\n\\subsection*
EndText: ^
-
GI: OSF-REFPAGE
-
GI: META
Context: OSF-REFPAGE
Ignore: all
-
# ______________________________________________________________________
GI: BRIDGE-TITLE
StartText: ^\n\\leftline{\\bf
EndText: }^
-
# ______________________________________________________________________
GI: MESSAGE
StartText: ^% Message^\\begin{description}^
EndText: ^\\end{description}^% Message end^
-
GI: MSG-CODE
Context: MESSAGE
StartText: ^\\item[{Code}]^
EndText: ^
-
GI: MSG-SYMBOL
StartText: ^\\item[{Symbol}]^
EndText: ^
-
GI: MSG-TEXT
StartText: ^\\item[{Text}]^
Context: MESSAGE
EndText: ^
-
GI: MSG-TYPE
StartText: ^\\item[{Type}]^
EndText: ^
-
GI: MSG-DESC
StartText: ^\\item[{Description}]^
EndText: ^
-
GI: MSG-CAUSE
StartText: ^\\item[{Cause}]^
EndText: ^
-
GI: MSG-AUDIENCE
StartText: ^\\item[{Audience}]^
EndText: ^
-
GI: MSG-RESP
StartText: ^\\item[{Response}]^
EndText: ^
-
GI: MSG-ORIGIN
StartText: ^\\item[{Origin}]^
EndText: ^
-
# ______________________________________________________________________
# "default" handling of some common and keydata elements
GI: P
StartText: ^\n
EndText: ^
-
GI: MSG-CODE
StartText: {\\bf\s
EndText: }
-
GI: MSG-TEXT
StartText: {
EndText: }
-
GI: TITLE
StartText: {
EndText: }^
-
GI: ALT-TITLE
Ignore: all
-
# ______________________________________________________________________
GI: TOC
Context: NAVIGATION AUGMENTUM OSF-BOOK
StartText: ^\n\\begingroup^\\tightenlist^\\tableofcontents^\\endgroup^
EndText: ^
-
GI: INDEX
#StartText: ^\n\\makeindex^
StartText: ^% This document wants an index:\s
EndText: ^
-
GI: BIBLIOGRAPHY
StartText: ^\n\\makebib^
EndText: ^
-
GI: GLOSSARY
StartText: ^% This document wants a glossary:\s
EndText: ^
-
# ______________________________________________________________________
# Set page number to 1 (roman) for TOC and friends
GI: AUGMENTUM
Context: OSF-BOOK
StartText: ^\\setcounter{page}{1}^
EndText: ^
-
GI: NAVIGATION
-
GI: HY-LOCATOR
Ignore: all
-
# ignore until we know how to process these
GI: HY-CONCEPT
Context: META
Ignore: all
-
GI: HY-CONCEPT
Ignore: all
-
GI: HY-DEF
-
GI: HY-TERM
-
# ----
GI: ENTRY
AttValue: DAVROLE glossary
StartText: {
EndText: }
-
GI: ENTRY
AttValue: DAVROLE index
StartText: {
EndText: }
#StartText: \\index{
#EndText: }
-
GI: ENTRY
-
# ----
GI: XREF
AttValue: OSFROLE gettitle
StartText: Get-Title
-
GI: XREF
AttValue: OSFROLE getnumber
#StartText: Get-Division-Number
EndText: \ \\ref{${LINKEND}}
-
GI: XREF
AttValue: OSFROLE getpage
EndText: \ \\pageref{${LINKEND}}
-
GI: XREF
-
# ----
GI: HY-BIB-DESCRIPTION
StartText: {\\it\s
EndText: }
-
# ______________________________________________________________________
GI: META
StartText: ^% start meta^
EndText: ^% end meta^
-
GI: DOC-ID
#StartText: ^.ad r^.S 20^.SP 1.5i^.\\" start doc id^
#EndText: ^.ad b^.br^.\\" end doc id^
-
GI: AUTHOR-INFO
StartText: ^\\begin{flushright}^
EndText: ^\\end{flushright}^
-
GI: PERSON
Context: AUTHOR-INFO
StartText: ^\\author{
EndText: }^
-
GI: AUTH-AFFILIATION
StartText: ^\\author{
EndText: }^
-
GI: ADDRESS
StartText: ^
EndText: \\\\^
-
GI: VALID-DATE
-
GI: PRODUCT
StartText: ^% PRODUCT...\s
EndText: ^
-
GI: PRODUCT-NAME
StartText: ^% PRODUCT-NAME...\s
EndText: ^
-
GI: PRODUCT-VERSION
StartText: ^%\s
-
GI: NOTICES
StartText: ^
-
GI: DISCLAIMER
StartText: ^\n
EndText: ^\n
-
GI: COPYRIGHTS
StartText: ^
-
GI: COPYRIGHT-NOTICE
EndText: ^
-
GI: OWNER
StartText: \\def\\copOwn{
EndText: }
-
# yes, a hack...
GI: STATEMENT
Context: COPYRIGHT-NOTICE
StartText: ^Copyright \\copyright{} \\copYr{} \\copOwn\\hfill\\\\
EndText: ^
-
GI: STATEMENT
StartText: \s
-
GI: TRADEMARKS
StartText: ^\\vskip 2em
-
GI: TRADEMARK-PAIR
StartText: ^
EndText: \\\\^
-
GI: PRODUCT-ID
StartText: ^
-
GI: AUDIENCE
StartText: ^\n
EndText: ^
-
# ______________________________________________________________________
GI: REV-BRACKET
StartText: \\osfrev{}
-
GI: I18N-BRACKET
-
GI: REV-DESCRIPTION
-
GI: OCCURRENCES
-
GI: OCC-ASYNC
-
GI: OCC-SYNC
-
GI: DESC-POOL
Ignore: all
-
GI: REV-DESCRIPTION
-
# ______________________________________________________________________
#GI: GRAPHIC
#StartText: ${NOTATION} graphic from file ${NAME} goes here.
#EndText: ^
#-
GI: GRAPHIC
Context: DISPLAY
StartText: ^\\begin{center}\\ ^\\psfig{figure=${_filename}}
EndText: ^\\end{center}^
-
GI: GRAPHIC
StartText: \\psfig{figure=${_filename}}
#EndText: }
-
GI: EQUATION
Context: DISPLAY
StartText: \\begin{center}^\$\$
EndText: \$\$\\end{center}^
-
GI: EQUATION
StartText: {\$
EndText: \$}
-
# ______________________________________________________________________
#
# For the "book.sty" LaTeX style
#
GI: _Start
StartText: ^\n\\documentstyle[11pt,osf-extras,osf-ref]{article}^
-
GI: _End
EndText: ^
-
GI: _Comment
StartText: ^%\s
EndText: ^
-
# ______________________________________________________________________

View File

@@ -0,0 +1,45 @@
# Copyright (c) 1993 Open Software Foundation, Inc., Cambridge, Massachusetts.
# All rights reserved
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# This will extract the name(s) and purpose(s) from and osf-refpage
# instance. The first line is category attr of osf-refpage.
# The second line is "REF-NAME: ", then the main name/purpose
# (ref-name/ref-purpose). (name/purpose are separated by a single tab.)
# Subsequent lines are, "SUB-NAME: ", then sub-name/sub-purpose.
#
# Usage: instant -t refname.ts your-document.esis
#
GI: OSF-REFPAGE
StartText: CATEGORY: ${CATEGORY x}
EndText: ^
-
GI: REF-NAME SUB-NAME
StartText: ^${_gi}:\s
-
GI: REF-PURPOSE SUB-PURPOSE
StartText: \t
EndText: ^
-
GI: RSECTION
Ignore: all
-
Relation: ancestor REF-NAME
-
GI: *
Ignore: data
-

View File

@@ -0,0 +1,22 @@
#
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# Character strings to map for troff/nroff.
#
# From To
#\\ \\e
^ \^

View File

@@ -0,0 +1,557 @@
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# SDATA entity mappings to TeX instructions.
# sgmls outputs sdata references in the form: \\|[mdash ]\\|
#
# J.Bowe, 1993
#
# Numeric and Special Graphic ________________________________
#
[half ] \\(12
[frac12] \\(12
[frac14] \\(14
[frac34] \\(34
# [frac18] =fraction one-eighth
# [frac38] =fraction three-eighths
# [frac58] =fraction five-eighths
# [frac78] =fraction seven-eighths
[sup1 ] \\u1\\l
[sup2 ] \\u2\\l
[sup3 ] \\u3\\l
[plus ] \\(pl
[plusmn] \\(+-
[lt ] <
[equals] =
[gt ] >
[divide] \\(di
[times ] \\(ti
# [curren] =general currency sign
[pound ] #
[dollar] $
[cent ] \\(ct
# [yen ] /yen =yen sign
[num ] #
[percnt] %
[amp ] &
[ast ] *
[commat] @
[lsqb ] [
[bsol ] \\e
[rsqb ] ]
[lcub ] { /lbrace O: =left curly bracket
# [horbar] =horizontal bar
[verbar] \\(or
[rcub ] }
[micro ] \\(*m
[ohm ] \\(*W
[deg ] \\(de
# [ordm ] =ordinal indicator, masculine
# [ordf ] =ordinal indicator, feminine
[sect ] \\(sc
# [para ] =pilcrow (paragraph sign)
# [middot] /centerdot B: =middle dot
[larr ] \\(<-
[rarr ] \\(->
[uarr ] \\(ua
[darr ] \\(da
[copy ] \\(co
[reg ] \\(rg
# [trade ] =trade mark sign
# [brvbar] =broken (vertical) bar
[not ] \\(no
# [sung ] =music note (sung text sign)
[excl ] !
# [iexcl ] =inverted exclamation mark
# [quot ] =quotation mark
[apos ] '
[lpar ] (
[rpar ] )
[comma ] ,
[lowbar] _
[hyphen] \\-
[period] .
[sol ] /
[colon ] :
[semi ] ;
[quest ] ?
# [iquest] =inverted question mark
# [laquo ] =angle quotation mark, left
# [raquo ] =angle quotation mark, right
# [lsquo ] =single quotation mark, left
# [rsquo ] =single quotation mark, right
# [ldquo ] =double quotation mark, left
# [rdquo ] =double quotation mark, right
# [nbsp ] =no break (required) space
# [shy ] =soft hyphen
#
# Publishing ________________________________
#
# trailing space here
[emsp ] \\ \\
[ensp ] \\
# [emsp3 ] =1/3-em space
# [emsp4 ] =1/4-em space
[numsp ] \\0
# [puncsp] =punctuation space (width of comma)
[thinsp] \\!
[hairsp] \\\^
[mdash ] \\*(em
[ndash ] -
[dash ] -
# [blank ] =significant blank symbol
# [hellip] =ellipsis (horizontal)
# [nldr ] =double baseline dot (en leader)
# [frac13] =fraction one-third
# [frac23] =fraction two-thirds
# [frac15] =fraction one-fifth
# [frac25] =fraction two-fifths
# [frac35] =fraction three-fifths
# [frac45] =fraction four-fifths
# [frac16] =fraction one-sixth
# [frac56] =fraction five-sixths
# [incare] =in-care-of symbol
# [block ] =full block
# [uhblk ] =upper half block
# [lhblk ] =lower half block
# [blk14 ] =25% shaded block
# [blk12 ] =50% shaded block
# [blk34 ] =75% shaded block
# [marker] =histogram marker
# [cir ] \\(ci
[squ ] \\(sq
# [rect ] =rectangle, open
# [utri ] /triangle =up triangle, open
# [dtri ] /triangledown =down triangle, open
[star ] \\(** =star, open
[bull ] \\(bu
# [squf ] /blacksquare =sq bullet, filled
# [utrif ] /blacktriangle =up tri, filled
# [dtrif ] /blacktriangledown =dn tri, filled
# [ltrif ] /blacktriangleleft R: =l tri, filled
# [rtrif ] /blacktriangleright R: =r tri, filled
# [clubs ] /clubsuit =club suit symbol
# [diams ] /diamondsuit =diamond suit symbol
# [hearts] /heartsuit =heart suit symbol
# [spades] /spadesuit =spades suit symbol
# [malt ] /maltese =maltese cross
[dagger] \\(dg
[Dagger] \\(dd
# [check ] /checkmark =tick, check mark
# [ballot] =ballot cross
# [sharp ] /sharp =musical sharp
# [flat ] /flat =musical flat
# [male ] =male symbol
# [female] =female symbol
# [phone ] =telephone symbol
# [telrec] =telephone recorder symbol
# [copysr] =sound recording copyright sign
[caret ] \^
[lsquor] `
[ldquor] ``
[fflig ] \\(ff
[filig ] \\(fi
# [fjlig ] small fj ligature
[ffilig] \\(Fi
[ffllig] \\(Fl
[fllig ] \\(fl
# [mldr ] em leader
[rdquor] ''
[rsquor] '
# [vellip] vertical ellipsis
# [hybull] rectangle, filled (hyphen bullet)
# [loz ] /lozenge - lozenge or total mark
# [lozf ] /blacklozenge - lozenge, filled
# [ltri ] /triangleleft B: l triangle, open
# [rtri ] /triangleright B: r triangle, open
# [starf ] /bigstar - star, filled
# [natur ] /natural - music natural
# [rx ] pharmaceutical prescription (Rx)
# [sext ] sextile (6-pointed star)
# [target] register mark or target
# [dlcrop] downward left crop mark
# [drcrop] downward right crop mark
# [ulcrop] upward left crop mark
# [urcrop] upward right crop mark
#
# Added Latin 1 ________________________________
#
# [aacute] =small a, acute accent
# [Aacute] =capital A, acute accent
# [acirc ] =small a, circumflex accent
# [Acirc ] =capital A, circumflex accent
# [agrave] =small a, grave accent
# [Agrave] =capital A, grave accent
# [aring ] =small a, ring
# [Aring ] =capital A, ring
# [atilde] =small a, tilde
# [Atilde] =capital A, tilde
# [auml ] =small a, dieresis or umlaut mark
# [Auml ] =capital A, dieresis or umlaut mark
# [aelig ] =small ae diphthong (ligature)
# [AElig ] =capital AE diphthong (ligature)
# [ccedil] =small c, cedilla
# [Ccedil] =capital C, cedilla
# [eth ] =small eth, Icelandic
# [ETH ] =capital Eth, Icelandic
# [eacute] =small e, acute accent
# [Eacute] =capital E, acute accent
# [ecirc ] =small e, circumflex accent
# [Ecirc ] =capital E, circumflex accent
# [egrave] =small e, grave accent
# [Egrave] =capital E, grave accent
# [euml ] =small e, dieresis or umlaut mark
# [Euml ] =capital E, dieresis or umlaut mark
# [iacute] =small i, acute accent
# [Iacute] =capital I, acute accent
# [icirc ] =small i, circumflex accent
# [Icirc ] =capital I, circumflex accent
# [igrave] =small i, grave accent
# [Igrave] =capital I, grave accent
# [iuml ] =small i, dieresis or umlaut mark
# [Iuml ] =capital I, dieresis or umlaut mark
# [ntilde] =small n, tilde
# [Ntilde] =capital N, tilde
# [oacute] =small o, acute accent
# [Oacute] =capital O, acute accent
# [ocirc ] =small o, circumflex accent
# [Ocirc ] =capital O, circumflex accent
# [ograve] =small o, grave accent
# [Ograve] =capital O, grave accent
# [oslash] =small o, slash
# [Oslash] =capital O, slash
# [otilde] =small o, tilde
# [Otilde] =capital O, tilde
# [ouml ] =small o, dieresis or umlaut mark
# [Ouml ] =capital O, dieresis or umlaut mark
# [szlig ] =small sharp s, German (sz ligature)
# [thorn ] =small thorn, Icelandic
# [THORN ] =capital THORN, Icelandic
# [uacute] =small u, acute accent
# [Uacute] =capital U, acute accent
# [ucirc ] =small u, circumflex accent
# [Ucirc ] =capital U, circumflex accent
# [ugrave] =small u, grave accent
# [Ugrave] =capital U, grave accent
# [uuml ] =small u, dieresis or umlaut mark
# [Uuml ] =capital U, dieresis or umlaut mark
# [yacute] =small y, acute accent
# [Yacute] =capital Y, acute accent
# [yuml ] =small y, dieresis or umlaut mark
#
# Added Latin 2 ________________________________
#
# [abreve] =small a, breve
# [Abreve] =capital A, breve
# [amacr ] =small a, macron
# [Amacr ] =capital A, macron
# [aogon ] =small a, ogonek
# [Aogon ] =capital A, ogonek
# [cacute] =small c, acute accent
# [Cacute] =capital C, acute accent
# [ccaron] =small c, caron
# [Ccaron] =capital C, caron
# [ccirc ] =small c, circumflex accent
# [Ccirc ] =capital C, circumflex accent
# [cdot ] =small c, dot above
# [Cdot ] =capital C, dot above
# [dcaron] =small d, caron
# [Dcaron] =capital D, caron
# [dstrok] =small d, stroke
# [Dstrok] =capital D, stroke
# [ecaron] =small e, caron
# [Ecaron] =capital E, caron
# [edot ] =small e, dot above
# [Edot ] =capital E, dot above
# [emacr ] =small e, macron
# [Emacr ] =capital E, macron
# [eogon ] =small e, ogonek
# [Eogon ] =capital E, ogonek
# [gacute] =small g, acute accent
# [gbreve] =small g, breve
# [Gbreve] =capital G, breve
# [Gcedil] =capital G, cedilla
# [gcirc ] =small g, circumflex accent
# [Gcirc ] =capital G, circumflex accent
# [gdot ] =small g, dot above
# [Gdot ] =capital G, dot above
# [hcirc ] =small h, circumflex accent
# [Hcirc ] =capital H, circumflex accent
# [hstrok] =small h, stroke
# [Hstrok] =capital H, stroke
# [Idot ] =capital I, dot above
# [Imacr ] =capital I, macron
# [imacr ] =small i, macron
# [ijlig ] =small ij ligature
# [IJlig ] =capital IJ ligature
# [inodot] =small i without dot
# [iogon ] =small i, ogonek
# [Iogon ] =capital I, ogonek
# [itilde] =small i, tilde
# [Itilde] =capital I, tilde
# [jcirc ] =small j, circumflex accent
# [Jcirc ] =capital J, circumflex accent
# [kcedil] =small k, cedilla
# [Kcedil] =capital K, cedilla
# [kgreen] =small k, Greenlandic
# [lacute] =small l, acute accent
# [Lacute] =capital L, acute accent
# [lcaron] =small l, caron
# [Lcaron] =capital L, caron
# [lcedil] =small l, cedilla
# [Lcedil] =capital L, cedilla
# [lmidot] =small l, middle dot
# [Lmidot] =capital L, middle dot
# [lstrok] =small l, stroke
# [Lstrok] =capital L, stroke
# [nacute] =small n, acute accent
# [Nacute] =capital N, acute accent
# [eng ] =small eng, Lapp
# [ENG ] =capital ENG, Lapp
# [napos ] =small n, apostrophe
# [ncaron] =small n, caron
# [Ncaron] =capital N, caron
# [ncedil] =small n, cedilla
# [Ncedil] =capital N, cedilla
# [odblac] =small o, double acute accent
# [Odblac] =capital O, double acute accent
# [Omacr ] =capital O, macron
# [omacr ] =small o, macron
# [oelig ] =small oe ligature
# [OElig ] =capital OE ligature
# [racute] =small r, acute accent
# [Racute] =capital R, acute accent
# [rcaron] =small r, caron
# [Rcaron] =capital R, caron
# [rcedil] =small r, cedilla
# [Rcedil] =capital R, cedilla
# [sacute] =small s, acute accent
# [Sacute] =capital S, acute accent
# [scaron] =small s, caron
# [Scaron] =capital S, caron
# [scedil] =small s, cedilla
# [Scedil] =capital S, cedilla
# [scirc ] =small s, circumflex accent
# [Scirc ] =capital S, circumflex accent
# [tcaron] =small t, caron
# [Tcaron] =capital T, caron
# [tcedil] =small t, cedilla
# [Tcedil] =capital T, cedilla
# [tstrok] =small t, stroke
# [Tstrok] =capital T, stroke
# [ubreve] =small u, breve
# [Ubreve] =capital U, breve
# [udblac] =small u, double acute accent
# [Udblac] =capital U, double acute accent
# [umacr ] =small u, macron
# [Umacr ] =capital U, macron
# [uogon ] =small u, ogonek
# [Uogon ] =capital U, ogonek
# [uring ] =small u, ring
# [Uring ] =capital U, ring
# [utilde] =small u, tilde
# [Utilde] =capital U, tilde
# [wcirc ] =small w, circumflex accent
# [Wcirc ] =capital W, circumflex accent
# [ycirc ] =small y, circumflex accent
# [Ycirc ] =capital Y, circumflex accent
# [Yuml ] =capital Y, dieresis or umlaut mark
# [zacute] =small z, acute accent
# [Zacute] =capital Z, acute accent
# [zcaron] =small z, caron
# [Zcaron] =capital Z, caron
# [zdot ] =small z, dot above
# [Zdot ] =capital Z, dot above
#
# Greek Letters ________________________________
#
[agr ] \\(*a
[Agr ] \\(*A
[bgr ] \\(*b
[Bgr ] \\(*B
[ggr ] \\(*g
[Ggr ] \\(*G
[dgr ] \\(*d
[Dgr ] \\(*D
[egr ] \\(*e
[Egr ] \\(*E
[zgr ] \\(*z
[Zgr ] \\(*Z
[eegr ] \\(*y
[EEgr ] \\(*Y
[thgr ] \\(*h
[THgr ] \\(*H
[igr ] \\(*i
[Igr ] \\(*I
[kgr ] \\(*k
[Kgr ] \\(*K
[lgr ] \\(*l
[Lgr ] \\(*L
[mgr ] \\(*m
[Mgr ] \\(*M
[ngr ] \\(*n
[Ngr ] \\(*N
[xgr ] \\(*c
[Xgr ] \\(*C
[ogr ] \\(*o
[Ogr ] \\(*O
[pgr ] \\(*p
[Pgr ] \\(*P
[rgr ] \\(*r
[Rgr ] \\(*R
[sgr ] \\(*s
[Sgr ] \\(*S
[sfgr ] \\(ts
[tgr ] \\(*t
[Tgr ] \\(*T
[ugr ] \\(*u
[Ugr ] \\(*U
[phgr ] \\(*f
[PHgr ] \\(*F
[khgr ] \\(*x
[KHgr ] \\(*X
[psgr ] \\(*q
[PSgr ] \\(*Q
[ohgr ] \\(*w
[OHgr ] \\(*W
#
# Greek Symbols ________________________________
#
[alpha ] \\(*a
[beta ] \\(*b
[gamma ] \\(*g
[Gamma ] \\(*G
# [gammad] /digamma
[delta ] \\(*d
[Delta ] \\(*D
[epsi ] \\(*e
# [epsiv ] /varepsilon
[epsis ] \\(*e
[zeta ] \\(*z
[eta ] \\(*y
[thetas] \\(*h
[Theta ] \\(*H
# [thetav] /vartheta - curly or open theta
[iota ] \\(*i
[kappa ] \\(*k
# [kappav] /varkappa
[lambda] \\(*l
[Lambda] \\(*L
[mu ] \\(*m
[nu ] \\(*n
[xi ] \\(*c
[Xi ] \\(*C
[pi ] \\(*p
# [piv ] /varpi
[Pi ] \\(*P
[rho ] \\(*r
# [rhov ] /varrho
[sigma ] \\(*s
[Sigma ] \\(*S
# [sigmav] /varsigma
[tau ] \\(*t
[upsi ] \\(*u
[Upsi ] \\(*U
[phis ] \\(*f
[Phi ] \\(*F
# [phiv ] /varphi - curly or open phi
[chi ] \\(*x
[psi ] \\(*q
[Psi ] \\(*X
[omega ] \\(*w
[Omega ] \\(*W
#
# General Technical ________________________________
#
# [aleph ] /aleph =aleph, Hebrew
# [and ] /wedge /land B: =logical and
# [ang90 ] =right (90 degree) angle
# [angsph] /sphericalangle =angle-spherical
[ap ] \\(ap
# [becaus] /because R: =because
# [bottom] /bot B: =perpendicular
# [cap ] /cap B: =intersection
# [cong ] /cong R: =congruent with
# [conint] /oint L: =contour integral operator
# [cup ] /cup B: =union or logical sum
[equiv ] \\(==
# [exist ] /exists =at least one exists
# [forall] /forall =for all
# [fnof ] =function of (italic small f)
[ge ] \\(>=
# [iff ] /iff =if and only if
[infin ] \\(if
# [int ] /int L: =integral operator
[isin ] \\(sb
# [lang ] /langle O: =left angle bracket
# [lArr ] /Leftarrow A: =is implied by
[le ] \\(<=
[minus ] \\(mi
# [mnplus] /mp B: =minus-or-plus sign
# [nabla ] /nabla =del, Hamilton operator
[ne ] \\(!=
# [ni ] /ni /owns R: =contains
# [or ] /vee /lor B: =logical or
# [par ] /parallel R: =parallel
# [part ] /partial =partial differential
# [permil] =per thousand
# [perp ] /perp R: =perpendicular
# [prime ] /prime =prime or minute
# [Prime ] =double prime or second
[prop ] \\(pt
# [radic ] /surd =radical
# [rang ] /rangle C: =right angle bracket
# [rArr ] /Rightarrow A: =implies
# [sim ] /sim R: =similar
# [sime ] /simeq R: =similar, equals
[square] \\(sq
[sub ] \\(sb
[sube ] \\(ib
[sup ] \\(sp
[supe ] \\(ip
# [there4] /therefore R: =therefore
# [Verbar] /Vert =dbl vertical bar
# [angst ] Angstrom =capital A, ring
# [bernou] Bernoulli function (script capital B)
# [compfn] B: composite function (small circle)
# [Dot ] =dieresis or umlaut mark
# [DotDot] four dots above
# [hamilt] Hamiltonian (script capital H)
# [lagran] Lagrangian (script capital L)
# [lowast] low asterisk
# [notin ] N: negated set membership
# [order ] order of (script small o)
# [phmmat] physics M-matrix (script capital M)
# [tdot ] three dots above
# [tprime] triple prime
# [wedgeq] R: corresponds to (wedge, equals)
#
# Diacritical Marks ________________________________
#
# [acute ] =acute accent
# [breve ] =breve
# [caron ] =caron
# [cedil ] =cedilla
# [circ ] =circumflex accent
# [dblac ] =double acute accent
# [die ] =dieresis
# [dot ] =dot above
# [grave ] =grave accent
# [macr ] =macron
# [ogon ] =ogonek
# [ring ] =ring
[tilde ] ~
# [uml ] =umlaut mark
#

View File

@@ -0,0 +1,23 @@
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# Character strings to map for SGML.
#
# From To
< &lt;
> &gt;
& &amp;

View File

@@ -0,0 +1,557 @@
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# SDATA entity mappings BACK to entity references.
# I think this is only usefule for creating a normalized instance.
#
# J.Bowe, 1993
#
# Numeric and Special Graphic ________________________________
#
[half ] &half;
[frac12] &frac12;
[frac14] &frac14;
[frac34] &frac34;
[frac18] &frac18;
[frac38] &frac38;
[frac58] &frac58;
[frac78] &frac78;
[sup1 ] &sup1;
[sup2 ] &sup2;
[sup3 ] &sup3;
[plus ] &plus;
[plusmn] &plusmn;
[lt ] &lt;
[equals] &equals;
[gt ] &gt;
[divide] &divide;
[times ] &times;
[curren] &curren;
[pound ] &pound;
[dollar] &dollar;
[cent ] &cent;
[yen ] &yen;
[num ] &num;
[percnt] &percnt;
[amp ] &amp;
[ast ] &ast;
[commat] &commat;
[lsqb ] &lsqb;
[bsol ] &bsol;
[rsqb ] &rsqb;
[lcub ] &lcub;
[horbar] &horbar;
[verbar] &verbar;
[rcub ] &rcub;
[micro ] &micro;
[ohm ] &ohm;
[deg ] &deg;
[ordm ] &ordm;
[ordf ] &ordf;
[sect ] &sect;
[para ] &para;
[middot] &middot;
[larr ] &larr;
[rarr ] &rarr;
[uarr ] &uarr;
[darr ] &darr;
[copy ] &copy;
[reg ] &reg;
[trade ] &trade;
[brvbar] &brvbar;
[not ] &not;
[sung ] &sung;
[excl ] &excl;
[iexcl ] &iexcl;
[quot ] &quot;
[apos ] &apos;
[lpar ] &lpar;
[rpar ] &rpar;
[comma ] &comma;
[lowbar] &lowbar;
[hyphen] &hyphen;
[period] &period;
[sol ] &sol;
[colon ] &colon;
[semi ] &semi;
[quest ] &quest;
[iquest] &iquest;
[laquo ] &laquo;
[raquo ] &raquo;
[lsquo ] &lsquo;
[rsquo ] &rsquo;
[ldquo ] &ldquo;
[rdquo ] &rdquo;
[nbsp ] &nbsp;
[shy ] &shy;
#
# Publishing ________________________________
#
[emsp ] &emsp;
[ensp ] &ensp;
[emsp3 ] &emsp3;
[emsp4 ] &emsp4;
[numsp ] &numsp;
[puncsp] &puncsp;
[thinsp] &thinsp;
[hairsp] &hairsp;
[mdash ] &mdash;
[ndash ] &ndash;
[dash ] &dash;
[blank ] &blank;
[hellip] &hellip;
[nldr ] &nldr;
[frac13] &frac13;
[frac23] &frac23;
[frac15] &frac15;
[frac25] &frac25;
[frac35] &frac35;
[frac45] &frac45;
[frac16] &frac16;
[frac56] &frac56;
[incare] &incare;
[block ] &block;
[uhblk ] &uhblk;
[lhblk ] &lhblk;
[blk14 ] &blk14;
[blk12 ] &blk12;
[blk34 ] &blk34;
[marker] &marker;
[cir ] &cir;
[squ ] &squ;
[rect ] &rect;
[utri ] &utri;
[dtri ] &dtri;
[star ] &star;
[bull ] &bull;
[squf ] &squf;
[utrif ] &utrif;
[dtrif ] &dtrif;
[ltrif ] &ltrif;
[rtrif ] &rtrif;
[clubs ] &clubs;
[diams ] &diams;
[hearts] &hearts;
[spades] &spades;
[malt ] &malt;
[dagger] &dagger;
[Dagger] &Dagger;
[check ] &check;
[ballot] &ballot;
[sharp ] &sharp;
[flat ] &flat;
[male ] &male;
[female] &female;
[phone ] &phone;
[telrec] &telrec;
[copysr] &copysr;
[caret ] &caret;
[lsquor] &lsquor;
[ldquor] &ldquor;
[fflig ] &fflig;
[filig ] &filig;
[fjlig ] &fjlig;
[ffilig] &ffilig;
[ffllig] &ffllig;
[fllig ] &fllig;
[mldr ] &mldr;
[rdquor] &rdquor;
[rsquor] &rsquor;
[vellip] &vellip;
[hybull] &hybull;
[loz ] &loz;
[lozf ] &lozf;
[ltri ] &ltri;
[rtri ] &rtri;
[starf ] &starf;
[natur ] &natur;
[rx ] &rx;
[sext ] &sext;
[target] &target;
[dlcrop] &dlcrop;
[drcrop] &drcrop;
[ulcrop] &ulcrop;
[urcrop] &urcrop;
#
# Added Latin 1 ________________________________
#
[aacute] &aacute;
[Aacute] &Aacute;
[acirc ] &acirc;
[Acirc ] &Acirc;
[agrave] &agrave;
[Agrave] &Agrave;
[aring ] &aring;
[Aring ] &Aring;
[atilde] &atilde;
[Atilde] &Atilde;
[auml ] &auml;
[Auml ] &Auml;
[aelig ] &aelig;
[AElig ] &AElig;
[ccedil] &ccedil;
[Ccedil] &Ccedil;
[eth ] &eth;
[ETH ] &ETH;
[eacute] &eacute;
[Eacute] &Eacute;
[ecirc ] &ecirc;
[Ecirc ] &Ecirc;
[egrave] &egrave;
[Egrave] &Egrave;
[euml ] &euml;
[Euml ] &Euml;
[iacute] &iacute;
[Iacute] &Iacute;
[icirc ] &icirc;
[Icirc ] &Icirc;
[igrave] &igrave;
[Igrave] &Igrave;
[iuml ] &iuml;
[Iuml ] &Iuml;
[ntilde] &ntilde;
[Ntilde] &Ntilde;
[oacute] &oacute;
[Oacute] &Oacute;
[ocirc ] &ocirc;
[Ocirc ] &Ocirc;
[ograve] &ograve;
[Ograve] &Ograve;
[oslash] &oslash;
[Oslash] &Oslash;
[otilde] &otilde;
[Otilde] &Otilde;
[ouml ] &ouml;
[Ouml ] &Ouml;
[szlig ] &szlig;
[thorn ] &thorn;
[THORN ] &THORN;
[uacute] &uacute;
[Uacute] &Uacute;
[ucirc ] &ucirc;
[Ucirc ] &Ucirc;
[ugrave] &ugrave;
[Ugrave] &Ugrave;
[uuml ] &uuml;
[Uuml ] &Uuml;
[yacute] &yacute;
[Yacute] &Yacute;
[yuml ] &yuml;
#
# Added Latin 2 ________________________________
#
[abreve] &abreve;
[Abreve] &Abreve;
[amacr ] &amacr;
[Amacr ] &Amacr;
[aogon ] &aogon;
[Aogon ] &Aogon;
[cacute] &cacute;
[Cacute] &Cacute;
[ccaron] &ccaron;
[Ccaron] &Ccaron;
[ccirc ] &ccirc;
[Ccirc ] &Ccirc;
[cdot ] &cdot;
[Cdot ] &Cdot;
[dcaron] &dcaron;
[Dcaron] &Dcaron;
[dstrok] &dstrok;
[Dstrok] &Dstrok;
[ecaron] &ecaron;
[Ecaron] &Ecaron;
[edot ] &edot;
[Edot ] &Edot;
[emacr ] &emacr;
[Emacr ] &Emacr;
[eogon ] &eogon;
[Eogon ] &Eogon;
[gacute] &gacute;
[gbreve] &gbreve;
[Gbreve] &Gbreve;
[Gcedil] &Gcedil;
[gcirc ] &gcirc;
[Gcirc ] &Gcirc;
[gdot ] &gdot;
[Gdot ] &Gdot;
[hcirc ] &hcirc;
[Hcirc ] &Hcirc;
[hstrok] &hstrok;
[Hstrok] &Hstrok;
[Idot ] &Idot;
[Imacr ] &Imacr;
[imacr ] &imacr;
[ijlig ] &ijlig;
[IJlig ] &IJlig;
[inodot] &inodot;
[iogon ] &iogon;
[Iogon ] &Iogon;
[itilde] &itilde;
[Itilde] &Itilde;
[jcirc ] &jcirc;
[Jcirc ] &Jcirc;
[kcedil] &kcedil;
[Kcedil] &Kcedil;
[kgreen] &kgreen;
[lacute] &lacute;
[Lacute] &Lacute;
[lcaron] &lcaron;
[Lcaron] &Lcaron;
[lcedil] &lcedil;
[Lcedil] &Lcedil;
[lmidot] &lmidot;
[Lmidot] &Lmidot;
[lstrok] &lstrok;
[Lstrok] &Lstrok;
[nacute] &nacute;
[Nacute] &Nacute;
[eng ] &eng;
[ENG ] &ENG;
[napos ] &napos;
[ncaron] &ncaron;
[Ncaron] &Ncaron;
[ncedil] &ncedil;
[Ncedil] &Ncedil;
[odblac] &odblac;
[Odblac] &Odblac;
[Omacr ] &Omacr;
[omacr ] &omacr;
[oelig ] &oelig;
[OElig ] &OElig;
[racute] &racute;
[Racute] &Racute;
[rcaron] &rcaron;
[Rcaron] &Rcaron;
[rcedil] &rcedil;
[Rcedil] &Rcedil;
[sacute] &sacute;
[Sacute] &Sacute;
[scaron] &scaron;
[Scaron] &Scaron;
[scedil] &scedil;
[Scedil] &Scedil;
[scirc ] &scirc;
[Scirc ] &Scirc;
[tcaron] &tcaron;
[Tcaron] &Tcaron;
[tcedil] &tcedil;
[Tcedil] &Tcedil;
[tstrok] &tstrok;
[Tstrok] &Tstrok;
[ubreve] &ubreve;
[Ubreve] &Ubreve;
[udblac] &udblac;
[Udblac] &Udblac;
[umacr ] &umacr;
[Umacr ] &Umacr;
[uogon ] &uogon;
[Uogon ] &Uogon;
[uring ] &uring;
[Uring ] &Uring;
[utilde] &utilde;
[Utilde] &Utilde;
[wcirc ] &wcirc;
[Wcirc ] &Wcirc;
[ycirc ] &ycirc;
[Ycirc ] &Ycirc;
[Yuml ] &Yuml;
[zacute] &zacute;
[Zacute] &Zacute;
[zcaron] &zcaron;
[Zcaron] &Zcaron;
[zdot ] &zdot;
[Zdot ] &Zdot;
#
# Greek Letters ________________________________
#
[agr ] &agr;
[Agr ] &Agr;
[bgr ] &bgr;
[Bgr ] &Bgr;
[ggr ] &ggr;
[Ggr ] &Ggr;
[dgr ] &dgr;
[Dgr ] &Dgr;
[egr ] &egr;
[Egr ] &Egr;
[zgr ] &zgr;
[Zgr ] &Zgr;
[eegr ] &eegr;
[EEgr ] &EEgr;
[thgr ] &thgr;
[THgr ] &THgr;
[igr ] &igr;
[Igr ] &Igr;
[kgr ] &kgr;
[Kgr ] &Kgr;
[lgr ] &lgr;
[Lgr ] &Lgr;
[mgr ] &mgr;
[Mgr ] &Mgr;
[ngr ] &ngr;
[Ngr ] &Ngr;
[xgr ] &xgr;
[Xgr ] &Xgr;
[ogr ] &ogr;
[Ogr ] &Ogr;
[pgr ] &pgr;
[Pgr ] &Pgr;
[rgr ] &rgr;
[Rgr ] &Rgr;
[sgr ] &sgr;
[Sgr ] &Sgr;
[sfgr ] &sfgr;
[tgr ] &tgr;
[Tgr ] &Tgr;
[ugr ] &ugr;
[Ugr ] &Ugr;
[phgr ] &phgr;
[PHgr ] &PHgr;
[khgr ] &khgr;
[KHgr ] &KHgr;
[psgr ] &psgr;
[PSgr ] &PSgr;
[ohgr ] &ohgr;
[OHgr ] &OHgr;
#
# Greek Symbols ________________________________
#
[alpha ] &alpha;
[beta ] &beta;
[gamma ] &gamma;
[Gamma ] &Gamma;
[gammad] &gammad;
[delta ] &delta;
[Delta ] &Delta;
[epsi ] &epsi;
[epsiv ] &epsiv;
[epsis ] &epsis;
[zeta ] &zeta;
[eta ] &eta;
[thetas] &thetas;
[Theta ] &Theta;
[thetav] &thetav;
[iota ] &iota;
[kappa ] &kappa;
[kappav] &kappav;
[lambda] &lambda;
[Lambda] &Lambda;
[mu ] &mu;
[nu ] &nu;
[xi ] &xi;
[Xi ] &Xi;
[pi ] &pi;
[piv ] &piv;
[Pi ] &Pi;
[rho ] &rho;
[rhov ] &rhov;
[sigma ] &sigma;
[Sigma ] &Sigma;
[sigmav] &sigmav;
[tau ] &tau;
[upsi ] &upsi;
[Upsi ] &Upsi;
[phis ] &phis;
[Phi ] &Phi;
[phiv ] &phiv;
[chi ] &chi;
[psi ] &psi;
[Psi ] &Psi;
[omega ] &omega;
[Omega ] &Omega;
#
# General Technical ________________________________
#
[aleph ] &aleph;
[and ] &and;
[ang90 ] &ang90;
[angsph] &angsph;
[ap ] &ap;
[becaus] &becaus;
[bottom] &bottom;
[cap ] &cap;
[cong ] &cong;
[conint] &conint;
[cup ] &cup;
[equiv ] &equiv;
[exist ] &exist;
[forall] &forall;
[fnof ] &fnof;
[ge ] &ge;
[iff ] &iff;
[infin ] &infin;
[int ] &int;
[isin ] &isin;
[lang ] &lang;
[lArr ] &lArr;
[le ] &le;
[minus ] &minus;
[mnplus] &mnplus;
[nabla ] &nabla;
[ne ] &ne;
[ni ] &ni;
[or ] &or;
[par ] &par;
[part ] &part;
[permil] &permil;
[perp ] &perp;
[prime ] &prime;
[Prime ] &Prime;
[prop ] &prop;
[radic ] &radic;
[rang ] &rang;
[rArr ] &rArr;
[sim ] &sim;
[sime ] &sime;
[square] &square;
[sub ] &sub;
[sube ] &sube;
[sup ] &sup;
[supe ] &supe;
[there4] &there4;
[Verbar] &Verbar;
[angst ] &angst;
[bernou] &bernou;
[compfn] &compfn;
[Dot ] &Dot;
[DotDot] &DotDot;
[hamilt] &hamilt;
[lagran] &lagran;
[lowast] &lowast;
[notin ] &notin;
[order ] &order;
[phmmat] &phmmat;
[tdot ] &tdot;
[tprime] &tprime;
[wedgeq] &wedgeq;
#
# Diacritical Marks ________________________________
#
[acute ] &acute;
[breve ] &breve;
[caron ] &caron;
[cedil ] &cedil;
[circ ] &circ;
[dblac ] &dblac;
[die ] &die;
[dot ] &dot;
[grave ] &grave;
[macr ] &macr;
[ogon ] &ogon;
[ring ] &ring;
[tilde ] &tilde;
[uml ] &uml;
#

View File

@@ -0,0 +1,41 @@
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# Character strings to map for TeX.
#
# Be sure \ is first, if you have it.
#
# From To
#\\ \\\\
#[ \\lbrack\s
#] \\rbrack\s
{ \\{
} \\}
% \\%
\# \\#
$ \\$
& \\&
~ \\~
_ \\_
^ \\^
| $\\vert\s$
# comments:
# brackets:
# brackets can screw things up when used within an optinal arg.
# You can't escape them, because that means a displayed equation.
# vertical bar:
# These seem to come out as long (longer than em) dashes. Dunno why.

View File

@@ -0,0 +1,571 @@
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# SDATA entity mappings to TeX instructions.
# sgmls outputs sdata references in the form: \\|[mdash ]\\|
#
# I found most of these from the LaTeX and TeX books. I found a few on
# various places around the net.
#
# J.Bowe, 1993
#
# Numeric and Special Graphic ________________________________
#
[half ] $\\scriptstyle{1\\over2}$
[frac12] $\\frac{1}{2}$
[frac14] $\\frac{1}{4}$
[frac34] $\\frac{3}{4}$
[frac18] $\\frac{1}{8}$
[frac38] $\\frac{3}{8}$
[frac58] $\\frac{5}{8}$
[frac78] $\\frac{7}{8}$
#
[sup1 ] $^1$
[sup2 ] $^2$
[sup3 ] $^3$
#
[plus ] $+$
[plusmn] $\\pm$
[lt ] $<$
[equals] $=$
[gt ] $>$
[divide] $\\div$
[times ] $\\times$
#
[curren] [curren]
[pound ] \pounds{}
[dollar] \\$
[cent ] \\hbox{\\rm\\rlap\\/c}
[yen ] [yen]
#
[num ] \\#{}
[percnt] \\%
[amp ] \\&
[ast ] {*}
[commat] @
[lsqb ] $\\lbrack$
[bsol ] $\\backslash$
[rsqb ] $\\rbrack$
[lcub ] $\\lbrace$
[horbar] {--}
[verbar] $|$
[rcub ] $\\rbrace$
[micro ] $\\mu$
[ohm ] $\\Omega$
[deg ] $^\\circ$
[ordm ] [ordm]
[ordf ] [ordf]
[sect ] \\S{}
[para ] \\P{}
[middot] $\\cdot$
[larr ] $\\leftarrow$
[rarr ] $\\rightarrow$
[uarr ] $\\uparrrow$
[darr ] $\\downarrrow$
[copy ] \\copyright{}
[reg ] \\ooalign{\\hfil\\raise.07ex\\hbox{r}\\hfil\\crcr\\mathhexbox20D}
[trade ] {$\\sp{TM}$}
[brvbar] [brvbar]
[not ] $\\neg$
[sung ] [sung]
#
[excl ] !
[iexcl ] {!`}
[quot ] {\\tt\\char`\\"}
[apos ] '
[lpar ] (
[rpar ] )
[comma ] ,
[lowbar] \\_
[hyphen] -
[period] .
[sol ] \\/
[colon ] :
[semi ] ;
[quest ] ?
[iquest] {?`}
[laquo ] \\laquo{}
[raquo ] \\raquo{}
[lsquo ] {`}
[rsquo ] {'}
[ldquo ] {``}
[rdquo ] {''}
[nbsp ] ~
[shy ] \\-
#
# Publishing ________________________________
#
[emsp ] \\hskip1em
[ensp ] \\hskip0.5em
[emsp3 ] \\hskip0.33333em
[emsp4 ] \\hskip0.25em
[numsp ] \\hskip0.5em
[puncsp] \\hskip0.25em
[thinsp] \\hskip0.16667em
[hairsp] \\hskip0.08333em
[mdash ] {---}
[ndash ] {--}
[dash ] {-}
# trailing blank next:
[blank ] \\
[hellip] $\\ldots$
[nldr ] [nldr]
[frac13] $\\frac{1}{3}$
[frac23] $\\frac{2}{3}$
[frac15] $\\frac{1}{5}$
[frac25] $\\frac{2}{5}$
[frac35] $\\frac{3}{5}$
[frac45] $\\frac{4}{5}$
[frac16] $\\frac{1}{6}$
[frac56] $\\frac{5}{6}$
# [incare] =in-care-of symbol
# [block ] =full block
# [uhblk ] =upper half block
# [lhblk ] =lower half block
# [blk14 ] =25% shaded block
# [blk12 ] =50% shaded block
# [blk34 ] =75% shaded block
# [marker] =histogram marker
[cir ] $\\bigcirc$
# [squ ] =square, open
# [rect ] =rectangle, open
[utri ] $\\bigtriangleup$
[dtri ] $\\bigtriangledown$
# [star ] =star, open
[bull ] $\\bullet$
[squf ] {\\vrule height .9ex width .8ex depth -.1ex}
# [utrif ] /blacktriangle =up tri, filled
# [dtrif ] /blacktriangledown =dn tri, filled
# [ltrif ] /blacktriangleleft R: =l tri, filled
# [rtrif ] /blacktriangleright R: =r tri, filled
[clubs ] $\\clubsuit$
[diams ] $\\diamondsuit$
[hearts] $\\heartsuit$
[spades] $\\spadesuit$
# [malt ] /maltese =maltese cross
[dagger] $\\daggar$
[Dagger] $\\ddaggar$
[check ] $\\surd$
[ballot] $\\times$
[sharp ] $\\sharp$
[flat ] $\\flat$
[male ] $\\bigcirc^{\\mkern-5.5mu\\raise.5ex\\hbox{$\\nearrow$}}$
[female] $\\bigcirc\\mkern-15.64mu\\lower1.75ex\\hbox{+}$
[phone ] [phone]
# [telrec] =telephone recorder symbol
# [copysr] =sound recording copyright sign
[caret ] \\char94
[lsquor] \\lsquor{}
[ldquor] \\lsquor{}
#
[fflig ] {ff}
[filig ] {fi}
[fjlig ] {fj}
[ffilig] {ffi}
[ffllig] {ffl}
[fllig ] {fl}
#
[mldr ] [mldr]
[rdquor] {''}
[rsquor] {'}
[vellip] $\\vdots$
#
[hybull] {\\vrule height .6ex width .8ex depth -.4ex}
# [loz ] /lozenge - lozenge or total mark
# [lozf ] /blacklozenge - lozenge, filled
[ltri ] $\\triangleleft$
[rtri ] $\\triangleright$
[starf ] $\\star$
#
[natur ] $\\natural$
[rx ] [Rx]
# [sext ] sextile (6-pointed star)
#
[target] $\\mathchar"2208$
# [dlcrop] downward left crop mark
# [drcrop] downward right crop mark
# [ulcrop] upward left crop mark
# [urcrop] upward right crop mark
#
# Added Latin 1 ________________________________
#
[aacute] \\'{a}
[Aacute] \\'{A}
[acirc ] \\^{a}
[Acirc ] \\^{A}
[agrave] \\`{a}
[Agrave] \\`{A}
[aring ] \\aa{}
[Aring ] \\AA{}
[atilde] \\~{a}
[Atilde] \\~{A}
[auml ] \\"{a}
[Auml ] \\"{A}
[aelig ] \\ae{}
[AElig ] \\AE{}
[ccedil] \\c{c}
[Ccedil] \\c{C}
[eth ] $\\partial$
[ETH ] \\hbox{\\rlap{\\raise.3ex\\hbox{--}}D}
[eacute] \\'{e}
[Eacute] \\'{E}
[ecirc ] \\^{e}
[Ecirc ] \\^{E}
[egrave] \\`{e}
[Egrave] \\`{E}
[euml ] \\"{e}
[Euml ] \\"{E}
[iacute] \\'{\\i}
[Iacute] \\'{I}
[icirc ] \\^{\\i}
[Icirc ] \\^{I}
[igrave] \\`{\\i}
[Igrave] \\`{I}
[iuml ] \\"{\\i}
[Iuml ] \\"{I}
[ntilde] \\~{n}
[Ntilde] \\~{N}
[oacute] \\'{o}
[Oacute] \\'{O}
[ocirc ] \\^{o}
[Ocirc ] \\^{O}
[ograve] \\`{o}
[Ograve] \\`{O}
[oslash] \\o
[Oslash] \\O
[otilde] \\~{o}
[Otilde] \\~{O}
[ouml ] \\"{o}
[Ouml ] \\"{O}
[szlig ] \\ss{}
[thorn ] th
[THORN ] Th
[uacute] \\'{u}
[Uacute] \\'{U}
[ucirc ] \\^{u}
[Ucirc ] \\^{U}
[ugrave] \\`{u}
[Ugrave] \\`{U}
[uuml ] \\"{u}
[Uuml ] \\"{U}
[yacute] \\'{y}
[Yacute] \\'{Y}
[yuml ] \\"{y}
#
# Added Latin 2 ________________________________
#
# [abreve] =small a, breve
# [Abreve] =capital A, breve
# [amacr ] =small a, macron
# [Amacr ] =capital A, macron
# [aogon ] =small a, ogonek
# [Aogon ] =capital A, ogonek
# [cacute] =small c, acute accent
# [Cacute] =capital C, acute accent
# [ccaron] =small c, caron
# [Ccaron] =capital C, caron
# [ccirc ] =small c, circumflex accent
# [Ccirc ] =capital C, circumflex accent
# [cdot ] =small c, dot above
# [Cdot ] =capital C, dot above
# [dcaron] =small d, caron
# [Dcaron] =capital D, caron
# [dstrok] =small d, stroke
# [Dstrok] =capital D, stroke
# [ecaron] =small e, caron
# [Ecaron] =capital E, caron
# [edot ] =small e, dot above
# [Edot ] =capital E, dot above
# [emacr ] =small e, macron
# [Emacr ] =capital E, macron
# [eogon ] =small e, ogonek
# [Eogon ] =capital E, ogonek
# [gacute] =small g, acute accent
# [gbreve] =small g, breve
# [Gbreve] =capital G, breve
# [Gcedil] =capital G, cedilla
# [gcirc ] =small g, circumflex accent
# [Gcirc ] =capital G, circumflex accent
# [gdot ] =small g, dot above
# [Gdot ] =capital G, dot above
# [hcirc ] =small h, circumflex accent
# [Hcirc ] =capital H, circumflex accent
# [hstrok] =small h, stroke
# [Hstrok] =capital H, stroke
# [Idot ] =capital I, dot above
# [Imacr ] =capital I, macron
# [imacr ] =small i, macron
# [ijlig ] =small ij ligature
# [IJlig ] =capital IJ ligature
# [inodot] =small i without dot
# [iogon ] =small i, ogonek
# [Iogon ] =capital I, ogonek
# [itilde] =small i, tilde
# [Itilde] =capital I, tilde
# [jcirc ] =small j, circumflex accent
# [Jcirc ] =capital J, circumflex accent
# [kcedil] =small k, cedilla
# [Kcedil] =capital K, cedilla
# [kgreen] =small k, Greenlandic
# [lacute] =small l, acute accent
# [Lacute] =capital L, acute accent
# [lcaron] =small l, caron
# [Lcaron] =capital L, caron
# [lcedil] =small l, cedilla
# [Lcedil] =capital L, cedilla
# [lmidot] =small l, middle dot
# [Lmidot] =capital L, middle dot
[lstrok] \\l{}
[Lstrok] \\L{}
# [nacute] =small n, acute accent
# [Nacute] =capital N, acute accent
# [eng ] =small eng, Lapp
# [ENG ] =capital ENG, Lapp
# [napos ] =small n, apostrophe
# [ncaron] =small n, caron
# [Ncaron] =capital N, caron
# [ncedil] =small n, cedilla
# [Ncedil] =capital N, cedilla
# [odblac] =small o, double acute accent
# [Odblac] =capital O, double acute accent
# [Omacr ] =capital O, macron
# [omacr ] =small o, macron
[oelig ] $\\oe$
[OElig ] $\\OE$
# [racute] =small r, acute accent
# [Racute] =capital R, acute accent
# [rcaron] =small r, caron
# [Rcaron] =capital R, caron
# [rcedil] =small r, cedilla
# [Rcedil] =capital R, cedilla
# [sacute] =small s, acute accent
# [Sacute] =capital S, acute accent
# [scaron] =small s, caron
# [Scaron] =capital S, caron
# [scedil] =small s, cedilla
# [Scedil] =capital S, cedilla
# [scirc ] =small s, circumflex accent
# [Scirc ] =capital S, circumflex accent
# [tcaron] =small t, caron
# [Tcaron] =capital T, caron
# [tcedil] =small t, cedilla
# [Tcedil] =capital T, cedilla
# [tstrok] =small t, stroke
# [Tstrok] =capital T, stroke
# [ubreve] =small u, breve
# [Ubreve] =capital U, breve
# [udblac] =small u, double acute accent
# [Udblac] =capital U, double acute accent
# [umacr ] =small u, macron
# [Umacr ] =capital U, macron
# [uogon ] =small u, ogonek
# [Uogon ] =capital U, ogonek
# [uring ] =small u, ring
# [Uring ] =capital U, ring
# [utilde] =small u, tilde
# [Utilde] =capital U, tilde
# [wcirc ] =small w, circumflex accent
# [Wcirc ] =capital W, circumflex accent
# [ycirc ] =small y, circumflex accent
# [Ycirc ] =capital Y, circumflex accent
# [Yuml ] =capital Y, dieresis or umlaut mark
# [zacute] =small z, acute accent
# [Zacute] =capital Z, acute accent
# [zcaron] =small z, caron
# [Zcaron] =capital Z, caron
# [zdot ] =small z, dot above
# [Zdot ] =capital Z, dot above
#
# Greek Letters ________________________________
#
[agr ] $\\alpha$
# [Agr ] =capital Alpha, Greek
[bgr ] $\\beta$
# [Bgr ] =capital Beta, Greek
[ggr ] $\\gamma$
[Ggr ] $\\Gamma$
[dgr ] $\\delta$
[Dgr ] $\\Delta$
[egr ] $\\epsilon$
# [Egr ] =capital Epsilon, Greek
[zgr ] $\\zeta$
# [Zgr ] =capital Zeta, Greek
[eegr ] $\\eta$
# [EEgr ] =capital Eta, Greek
[thgr ] $\\theta$
# [THgr ] =capital Theta, Greek
[igr ] $\\iota$
# [Igr ] =capital Iota, Greek
[kgr ] $\\kappa$
# [Kgr ] =capital Kappa, Greek
[lgr ] $\\lamda$
[Lgr ] $\\Lambda$
[mgr ] $\\mu$
# [Mgr ] =capital Mu, Greek
[ngr ] $\\nu$
# [Ngr ] =capital Nu, Greek
[xgr ] $\\xi$
[Xgr ] $\\Xi$
[ogr ] $o$
# [Ogr ] =capital Omicron, Greek
[pgr ] $\\pi$
[Pgr ] $\\Pi$
[rgr ] $\\rho$
# [Rgr ] =capital Rho, Greek
[sgr ] $\\sigma$
[Sgr ] $\\Sigma$
# [sfgr ] =final small sigma, Greek
[tgr ] $\\tau$
# [Tgr ] =capital Tau, Greek
[ugr ] $\\upsilon$
[Ugr ] $\\Upsilon$
[phgr ] $\\phi$
[PHgr ] $\\Phi$
[khgr ] $\\chi$
# [KHgr ] =capital Chi, Greek
[psgr ] $\\psi$
[PSgr ] $\\Psi$
[ohgr ] $\\omega$
[OHgr ] $\\Omega$
#
# Greek Symbols ________________________________
#
[alpha ] $\\alpha$
[beta ] $\\beta$
[gamma ] $\\gamma$
[Gamma ] $\\Gamma$
# [gammad] /digamma
[delta ] $\\delta$
[Delta ] $\\Delta$
[epsi ] $\\epsilon$
[epsiv ] $\\varepsilon$
[epsis ] $\\epsilon$
[zeta ] $\\zeta$
[eta ] $\\eta$
[thetas] $\\theta$
[Theta ] $\\Theta$
[thetav] $\\vartheta$
[iota ] $\\iota$
[kappa ] $\\kappa$
# [kappav] /varkappa
[lambda] $\\lamda$
[Lambda] $\\Lambda$
[mu ] $\\mu$
[nu ] $\\nu$
[xi ] $\\zi$
[Xi ] $\\Xi$
[pi ] $\\pi$
[piv ] $\\varpi$
[Pi ] $\\Pi$
[rho ] $\\rho$
[rhov ] $\\varrho$
[sigma ] $\\sigma$
[Sigma ] $\\Sigma$
[sigmav] $\\varsigma$
[tau ] $\\tau$
[upsi ] $\\upsilon$
[Upsi ] $\\Upsilon$
[phis ] $\\phi$
[Phi ] $\\phi$
[phiv ] $\\varphi$
[chi ] $\\chi$
[psi ] $\\psi$
[Psi ] $\\Psi$
[omega ] $\\omega$
[Omega ] $\\Omega$
#
# General Technical ________________________________
#
[aleph ] $\\aleph$
[and ] $\\wedge$
# [ang90 ] =right (90 degree) angle
# [angsph] /sphericalangle =angle-spherical
[ap ] $\\approx$
# [becaus] /because R: =because
# [bottom] /bot B: =perpendicular
[cap ] $\\cap$
# [cong ] /cong R: =congruent with
# [conint] /oint L: =contour integral operator
[cup ] $\\cup$
[equiv ] $\\equiv$
[exist ] $\\exists$
[forall] $\\forall$
# [fnof ] =function of (italic small f)
[ge ] $\\ge$
[iff ] $\\iff$
[infin ] $\\infty$
# [int ] $\\int$
[isin ] $\\in$
[lang ] $\\langle$
[lArr ] $\\Leftarrow$
[le ] $\\le$
[minus ] $\\-$
[mnplus] $\\mp$
[nabla ] $\\nabla$
[ne ] $\\ne$
[ni ] $\\ni$
[or ] $\\vee$
[par ] $\\vert$
[part ] $\\partial$
# [permil] =per thousand
[perp ] $\\perp$
[prime ] \\prime{}
# [Prime ] =double prime or second
# [prop ] /propto R: =is proportional to
# [radic ] /surd =radical
# [rang ] /rangle C: =right angle bracket
[rArr ] $\\Rightarrow$
[sim ] $\\sim$
[sime ] $\\simeq$
# [square] /square B: =square
[sub ] $\\subset$
[sube ] $\\subseteq$
[sup ] $\\supset$
[supe ] $\\supseteq$
# [there4] /therefore R: =therefore
# [Verbar] $\\|$
# [angst ] Angstrom =capital A, ring
# [bernou] Bernoulli function (script capital B)
# [compfn] B: composite function (small circle)
# [Dot ] =dieresis or umlaut mark
# [DotDot] four dots above
# [hamilt] Hamiltonian (script capital H)
# [lagran] Lagrangian (script capital L)
# [lowast] low asterisk
# [notin ] N: negated set membership
# [order ] order of (script small o)
# [phmmat] physics M-matrix (script capital M)
# [tdot ] three dots above
# [tprime] triple prime
# [wedgeq] R: corresponds to (wedge, equals)
#
# Diacritical Marks ________________________________
#
[acute ] \\'
[breve ] \\u
# [caron ] =caron
[cedil ] \\c
[circ ] \\^
# [dblac ] =double acute accent
[die ] \\"
[dot ] \\.
[grave ] \\`
[macr ] \\=
# [ogon ] =ogonek
[ring ] \\accent23
[tilde ] \\tilde
[uml ] \\"
#

View File

@@ -0,0 +1,26 @@
# Copyright 1993 Open Software Foundation, Inc., Cambridge, Massachusetts.
# All rights reserved.
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# Character strings to map for texinfo.
#
# From To
@ @@
{ @{
} @}

View File

@@ -0,0 +1,560 @@
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
#
# SDATA entity mappings to TeX instructions.
# sgmls outputs sdata references in the form: \\|[mdash ]\\|
#
# I found many of these with the "gf" program, on ftp.th-darmstadt.de.
#
# J.Bowe, 1993
#
# Nore: there are trailing spaces with some of these (tab, then space)...
#
# Numeric and Special Graphic ________________________________
#
[half ] 1/2
[frac12] 1/2
[frac14] 1/4
[frac34] 3/4
[frac18] 1/8
[frac38] 3/8
[frac58] 5/8
[frac78] 7/8
[sup1 ] ^1
[sup2 ] ^2
[sup3 ] ^3
[plus ] +
[plusmn] +-
[lt ] <
[equals] =
[gt ] >
[divide] /
[times ] x
[curren] [curren]
[pound ] L-
[dollar] $
[cent ] c
[yen ] Y-
[num ] #
[percnt] %
[amp ] &
[ast ] *
[commat] @
[lsqb ] [
[bsol ] \
[rsqb ] ]
[lcub ] {
[horbar] -
[verbar] |
[rcub ] }
[micro ] u
[ohm ] [ohm ]
[deg ] [deg ]
[ordm ] [ordm ]
[ordf ] [ordf ]
[sect ] [sect ]
[para ] [para ]
[middot] [middot]
[larr ] <-
[rarr ] ->
[uarr ] [uarr ]
[darr ] [darr ]
[copy ] (C)
[reg ] (R)
[trade ] (TM)
[brvbar] [brvbar]
[not ] [not ]
[sung ] [sung ]
[excl ] !
[iexcl ] -!
[quot ] "
[apos ] '
[lpar ] (
[rpar ] )
[comma ] ,
[lowbar] _
[hyphen] -
[period] .
[sol ] /
[colon ] :
[semi ] ;
[quest ] ?
[iquest] -?
[laquo ] <<
[raquo ] >>
[lsquo ] `
[rsquo ] '
[ldquo ] "
[rdquo ] "
[nbsp ]
[shy ]
#
# Publishing ________________________________
#
[emsp ]
[ensp ]
[emsp3 ]
[emsp4 ]
[numsp ]
[puncsp]
[thinsp]
[hairsp]
[mdash ] ---
[ndash ] --
[dash ] -
[blank ]
[hellip] ...
[nldr ] [nldr ]
[frac13] 1/3
[frac23] 2/3
[frac15] 1/5
[frac25] 2/5
[frac35] 3/5
[frac45] 4/5
[frac16] 1/6
[frac56] 5/6
[incare] [incare]
[block ] [block ]
[uhblk ] [uhblk ]
[lhblk ] [lhblk ]
[blk14 ] [blk14 ]
[blk12 ] [blk12 ]
[blk34 ] [blk34 ]
[marker] [marker]
[cir ] o
[squ ] [squ ]
[rect ] [rect ]
[utri ] [utri ]
[dtri ] [dtri ]
[star ] [star ]
[bull ] o
[squf ] [squf ]
[utrif ] [utrif ]
[dtrif ] [dtrif ]
[ltrif ] [ltrif ]
[rtrif ] [rtrif ]
[clubs ] [clubs ]
[diams ] [diams ]
[hearts] [hearts]
[spades] [spades]
[malt ] [malt ]
[dagger] [dagger]
[Dagger] [Dagger]
[check ] [check ]
[ballot] [ballot]
[sharp ] [sharp ]
[flat ] [flat ]
[male ] [male ]
[female] [female]
[phone ] [phone ]
[telrec] [telrec]
[copysr] [copysr]
[caret ] ^
[lsquor] [lsquor]
[ldquor] [ldquor]
[fflig ] ff
[filig ] fi
[fjlig ] fj
[ffilig] ff
[ffllig] ffl
[fllig ] fl
[mldr ] [mldr ]
[rdquor] "
[rsquor] '
[vellip] [vellip]
[hybull] [hybull]
[loz ] [loz ]
[lozf ] [lozf ]
[ltri ] [ltri ]
[rtri ] [rtri ]
[starf ] [starf ]
[natur ] [natur ]
[rx ] [rx ]
[sext ] [sext ]
[target] [target]
[dlcrop] [dlcrop]
[drcrop] [drcrop]
[ulcrop] [ulcrop]
[urcrop] [urcrop]
#
# Added Latin 1 ________________________________
#
[aacute] a'
[Aacute] A'
[acirc ] a>
[Acirc ] A>
[agrave] a!
[Agrave] A!
[aring ] a.
[Aring ] A.
[atilde] a?
[Atilde] A?
[auml ] a:
[Auml ] A:
[aelig ] ae
[AElig ] AE
[ccedil] c,
[Ccedil] C,
[eth ] d/
[ETH ] D/
[eacute] e'
[Eacute] E'
[ecirc ] e>
[Ecirc ] E>
[egrave] e!
[Egrave] E!
[euml ] e:
[Euml ] E:
[Iacute] I'
[icirce] i>
[Icirc ] I>
[igrave] i!
[Igrave] I!
[iuml ] i:
[Iuml ] I:
[ntilde] n?
[Ntilde] N?
[oacute] o'
[Oacute] O'
[ocirc ] o>
[Ocirc ] O>
[ograve] o!
[Ograve] O!
[oslash] o/
[Oslash] O/
[otilde] o?
[Otilde] O?
[ouml ] o:
[Ouml ] O:
[szlig ] ss
[thorn ] th
[THORN ] Th
[uacute] u'
[Uacute] U'
[ucirc ] u>
[Ucirc ] U>
[ugrave] u!
[Ugrave] U!
[uuml ] u:
[Uuml ] U:
[yacute] y'
[Yacute] Y'
[yuml ] y:
#
# Added Latin 2 ________________________________
#
# [abreve] =small a, breve
# [Abreve] =capital A, breve
# [amacr ] =small a, macron
# [Amacr ] =capital A, macron
# [aogon ] =small a, ogonek
# [Aogon ] =capital A, ogonek
# [cacute] =small c, acute accent
# [Cacute] =capital C, acute accent
# [ccaron] =small c, caron
# [Ccaron] =capital C, caron
# [ccirc ] =small c, circumflex accent
# [Ccirc ] =capital C, circumflex accent
# [cdot ] =small c, dot above
# [Cdot ] =capital C, dot above
# [dcaron] =small d, caron
# [Dcaron] =capital D, caron
# [dstrok] =small d, stroke
# [Dstrok] =capital D, stroke
# [ecaron] =small e, caron
# [Ecaron] =capital E, caron
# [edot ] =small e, dot above
# [Edot ] =capital E, dot above
# [emacr ] =small e, macron
# [Emacr ] =capital E, macron
# [eogon ] =small e, ogonek
# [Eogon ] =capital E, ogonek
# [gacute] =small g, acute accent
# [gbreve] =small g, breve
# [Gbreve] =capital G, breve
# [Gcedil] =capital G, cedilla
# [gcirc ] =small g, circumflex accent
# [Gcirc ] =capital G, circumflex accent
# [gdot ] =small g, dot above
# [Gdot ] =capital G, dot above
# [hcirc ] =small h, circumflex accent
# [Hcirc ] =capital H, circumflex accent
# [hstrok] =small h, stroke
# [Hstrok] =capital H, stroke
# [Idot ] =capital I, dot above
# [Imacr ] =capital I, macron
# [imacr ] =small i, macron
# [ijlig ] =small ij ligature
# [IJlig ] =capital IJ ligature
# [inodot] =small i without dot
# [iogon ] =small i, ogonek
# [Iogon ] =capital I, ogonek
# [itilde] =small i, tilde
# [Itilde] =capital I, tilde
# [jcirc ] =small j, circumflex accent
# [Jcirc ] =capital J, circumflex accent
# [kcedil] =small k, cedilla
# [Kcedil] =capital K, cedilla
# [kgreen] =small k, Greenlandic
# [lacute] =small l, acute accent
# [Lacute] =capital L, acute accent
# [lcaron] =small l, caron
# [Lcaron] =capital L, caron
# [lcedil] =small l, cedilla
# [Lcedil] =capital L, cedilla
# [lmidot] =small l, middle dot
# [Lmidot] =capital L, middle dot
[lstrok] \\l{}
[Lstrok] \\L{}
# [nacute] =small n, acute accent
# [Nacute] =capital N, acute accent
# [eng ] =small eng, Lapp
# [ENG ] =capital ENG, Lapp
# [napos ] =small n, apostrophe
# [ncaron] =small n, caron
# [Ncaron] =capital N, caron
# [ncedil] =small n, cedilla
# [Ncedil] =capital N, cedilla
# [odblac] =small o, double acute accent
# [Odblac] =capital O, double acute accent
# [Omacr ] =capital O, macron
# [omacr ] =small o, macron
[oelig ] $\\oe$
[OElig ] $\\OE$
# [racute] =small r, acute accent
# [Racute] =capital R, acute accent
# [rcaron] =small r, caron
# [Rcaron] =capital R, caron
# [rcedil] =small r, cedilla
# [Rcedil] =capital R, cedilla
# [sacute] =small s, acute accent
# [Sacute] =capital S, acute accent
# [scaron] =small s, caron
# [Scaron] =capital S, caron
# [scedil] =small s, cedilla
# [Scedil] =capital S, cedilla
# [scirc ] =small s, circumflex accent
# [Scirc ] =capital S, circumflex accent
# [tcaron] =small t, caron
# [Tcaron] =capital T, caron
# [tcedil] =small t, cedilla
# [Tcedil] =capital T, cedilla
# [tstrok] =small t, stroke
# [Tstrok] =capital T, stroke
# [ubreve] =small u, breve
# [Ubreve] =capital U, breve
# [udblac] =small u, double acute accent
# [Udblac] =capital U, double acute accent
# [umacr ] =small u, macron
# [Umacr ] =capital U, macron
# [uogon ] =small u, ogonek
# [Uogon ] =capital U, ogonek
# [uring ] =small u, ring
# [Uring ] =capital U, ring
# [utilde] =small u, tilde
# [Utilde] =capital U, tilde
# [wcirc ] =small w, circumflex accent
# [Wcirc ] =capital W, circumflex accent
# [ycirc ] =small y, circumflex accent
# [Ycirc ] =capital Y, circumflex accent
# [Yuml ] =capital Y, dieresis or umlaut mark
# [zacute] =small z, acute accent
# [Zacute] =capital Z, acute accent
# [zcaron] =small z, caron
# [Zcaron] =capital Z, caron
# [zdot ] =small z, dot above
# [Zdot ] =capital Z, dot above
#
# Greek Letters ________________________________
#
[agr ] $\\alpha$
# [Agr ] =capital Alpha, Greek
[bgr ] $\\beta$
# [Bgr ] =capital Beta, Greek
[ggr ] $\\gamma$
[Ggr ] $\\Gamma$
[dgr ] $\\delta$
[Dgr ] $\\Delta$
[egr ] $\\epsilon$
# [Egr ] =capital Epsilon, Greek
[zgr ] $\\zeta$
# [Zgr ] =capital Zeta, Greek
[eegr ] $\\eta$
# [EEgr ] =capital Eta, Greek
[thgr ] $\\theta$
# [THgr ] =capital Theta, Greek
[igr ] $\\iota$
# [Igr ] =capital Iota, Greek
[kgr ] $\\kappa$
# [Kgr ] =capital Kappa, Greek
[lgr ] $\\lamda$
[Lgr ] $\\Lambda$
[mgr ] $\\mu$
# [Mgr ] =capital Mu, Greek
[ngr ] $\\nu$
# [Ngr ] =capital Nu, Greek
[xgr ] $\\xi$
[Xgr ] $\\Xi$
[ogr ] $o$
# [Ogr ] =capital Omicron, Greek
[pgr ] $\\pi$
[Pgr ] $\\Pi$
[rgr ] $\\rho$
# [Rgr ] =capital Rho, Greek
[sgr ] $\\sigma$
[Sgr ] $\\Sigma$
# [sfgr ] =final small sigma, Greek
[tgr ] $\\tau$
# [Tgr ] =capital Tau, Greek
[ugr ] $\\upsilon$
[Ugr ] $\\Upsilon$
[phgr ] $\\phi$
[PHgr ] $\\Phi$
[khgr ] $\\chi$
# [KHgr ] =capital Chi, Greek
[psgr ] $\\psi$
[PSgr ] $\\Psi$
[ohgr ] $\\omega$
[OHgr ] $\\Omega$
#
# Greek Symbols ________________________________
#
[alpha ] $\\alpha$
[beta ] $\\beta$
[gamma ] $\\gamma$
[Gamma ] $\\Gamma$
# [gammad] /digamma
[delta ] $\\delta$
[Delta ] $\\Delta$
[epsi ] $\\epsilon$
[epsiv ] $\\varepsilon$
[epsis ] $\\epsilon$
[zeta ] $\\zeta$
[eta ] $\\eta$
[thetas] $\\theta$
[Theta ] $\\Theta$
[thetav] $\\vartheta$
[iota ] $\\iota$
[kappa ] $\\kappa$
# [kappav] /varkappa
[lambda] $\\lamda$
[Lambda] $\\Lambda$
[mu ] $\\mu$
[nu ] $\\nu$
[xi ] $\\zi$
[Xi ] $\\Xi$
[pi ] $\\pi$
[piv ] $\\varpi$
[Pi ] $\\Pi$
[rho ] $\\rho$
[rhov ] $\\varrho$
[sigma ] $\\sigma$
[Sigma ] $\\Sigma$
[sigmav] $\\varsigma$
[tau ] $\\tau$
[upsi ] $\\upsilon$
[Upsi ] $\\Upsilon$
[phis ] $\\phi$
[Phi ] $\\phi$
[phiv ] $\\varphi$
[chi ] $\\chi$
[psi ] $\\psi$
[Psi ] $\\Psi$
[omega ] $\\omega$
[Omega ] $\\Omega$
#
# General Technical ________________________________
#
[aleph ] $\\aleph$
[and ] $\\wedge$
# [ang90 ] =right (90 degree) angle
# [angsph] /sphericalangle =angle-spherical
[ap ] $\\approx$
# [becaus] /because R: =because
# [bottom] /bot B: =perpendicular
[cap ] $\\cap$
# [cong ] /cong R: =congruent with
# [conint] /oint L: =contour integral operator
[cup ] $\\cup$
[equiv ] $\\equiv$
[exist ] $\\exists$
[forall] $\\forall$
# [fnof ] =function of (italic small f)
[ge ] $\\ge$
[iff ] $\\iff$
[infin ] $\\infty$
# [int ] $\\int$
[isin ] $\\in$
[lang ] $\\langle$
[lArr ] $\\Leftarrow$
[le ] $\\le$
[minus ] $\\-$
[mnplus] $\\mp$
[nabla ] $\\nabla$
[ne ] $\\ne$
[ni ] $\\ni$
[or ] $\\vee$
[par ] $\\vert$
[part ] $\\partial$
# [permil] =per thousand
[perp ] $\\perp$
[prime ] \\prime{}
# [Prime ] =double prime or second
# [prop ] /propto R: =is proportional to
# [radic ] /surd =radical
# [rang ] /rangle C: =right angle bracket
[rArr ] $\\Rightarrow$
[sim ] $\\sim$
[sime ] $\\simeq$
# [square] /square B: =square
[sub ] $\\subset$
[sube ] $\\subseteq$
[sup ] $\\supset$
[supe ] $\\supseteq$
# [there4] /therefore R: =therefore
# [Verbar] $\\|$
# [angst ] Angstrom =capital A, ring
# [bernou] Bernoulli function (script capital B)
# [compfn] B: composite function (small circle)
# [Dot ] =dieresis or umlaut mark
# [DotDot] four dots above
# [hamilt] Hamiltonian (script capital H)
# [lagran] Lagrangian (script capital L)
# [lowast] low asterisk
# [notin ] N: negated set membership
# [order ] order of (script small o)
# [phmmat] physics M-matrix (script capital M)
# [tdot ] three dots above
# [tprime] triple prime
# [wedgeq] R: corresponds to (wedge, equals)
#
# Diacritical Marks ________________________________
#
[acute ] '
[breve ] [breve ]
[caron ] [caron ]
[cedil ] ,
[circ ] >
[dblac ] [dblac ]
[die ] :
[dot ] [dot ]
[grave ] `
[macr ] [macr ]
[ogon ] [ogon ]
[ring ] .
[tilde ] ?
[uml ] :
#

View File

@@ -0,0 +1,17 @@
XCOMM $XConsortium: Imakefile /main/2 1996/04/21 19:55:57 drk $
#define DoNormalLib YES
#define DoSharedLib NO
#define DoDebugLib NO
#define DoProfileLib NO
#define LibName tptregexp
#define LibHeaders NO
#define LibInstall NO
SRCS = regexp.c regsub.c regerror.c
OBJS = regexp.o regsub.o regerror.o
INCLUDES = -I.
#include <Library.tmpl>
DependTarget()

View File

@@ -0,0 +1,101 @@
/* $XConsortium: README /main/2 1996/07/15 14:09:54 drk $ */
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
This is a nearly-public-domain reimplementation of the V8 regexp(3) package.
It gives C programs the ability to use egrep-style regular expressions, and
does it in a much cleaner fashion than the analogous routines in SysV.
Copyright (c) 1986 by University of Toronto.
Written by Henry Spencer. Not derived from licensed software.
Permission is granted to anyone to use this software for any
purpose on any computer system, and to redistribute it freely,
subject to the following restrictions:
1. The author is not responsible for the consequences of use of
this software, no matter how awful, even if they arise
from defects in it.
2. The origin of this software must not be misrepresented, either
by explicit claim or by omission.
3. Altered versions must be plainly marked as such, and must not
be misrepresented as being the original software.
Barring a couple of small items in the BUGS list, this implementation is
believed 100% compatible with V8. It should even be binary-compatible,
sort of, since the only fields in a "struct regexp" that other people have
any business touching are declared in exactly the same way at the same
location in the struct (the beginning).
This implementation is *NOT* AT&T/Bell code, and is not derived from licensed
software. Even though U of T is a V8 licensee. This software is based on
a V8 manual page sent to me by Dennis Ritchie (the manual page enclosed
here is a complete rewrite and hence is not covered by AT&T copyright).
The software was nearly complete at the time of arrival of our V8 tape.
I haven't even looked at V8 yet, although a friend elsewhere at U of T has
been kind enough to run a few test programs using the V8 regexp(3) to resolve
a few fine points. I admit to some familiarity with regular-expression
implementations of the past, but the only one that this code traces any
ancestry to is the one published in Kernighan & Plauger (from which this
one draws ideas but not code).
Simplistically: put this stuff into a source directory, copy regexp.h into
/usr/include, inspect Makefile for compilation options that need changing
to suit your local environment, and then do "make r". This compiles the
regexp(3) functions, compiles a test program, and runs a large set of
regression tests. If there are no complaints, then put regexp.o, regsub.o,
and regerror.o into your C library, and regexp.3 into your manual-pages
directory.
Note that if you don't put regexp.h into /usr/include *before* compiling,
you'll have to add "-I." to CFLAGS before compiling.
The files are:
Makefile instructions to make everything
regexp.3 manual page
regexp.h header file, for /usr/include
regexp.c source for regcomp() and regexec()
regsub.c source for regsub()
regerror.c source for default regerror()
regmagic.h internal header file
try.c source for test program
timer.c source for timing program
tests test list for try and timer
This implementation uses nondeterministic automata rather than the
deterministic ones found in some other implementations, which makes it
simpler, smaller, and faster at compiling regular expressions, but slower
at executing them. In theory, anyway. This implementation does employ
some special-case optimizations to make the simpler cases (which do make
up the bulk of regular expressions actually used) run quickly. In general,
if you want blazing speed you're in the wrong place. Replacing the insides
of egrep with this stuff is probably a mistake; if you want your own egrep
you're going to have to do a lot more work. But if you want to use regular
expressions a little bit in something else, you're in luck. Note that many
existing text editors use nondeterministic regular-expression implementations,
so you're in good company.
This stuff should be pretty portable, given appropriate option settings.
If your chars have less than 8 bits, you're going to have to change the
internal representation of the automaton, although knowledge of the details
of this is fairly localized. There are no "reserved" char values except for
NUL, and no special significance is attached to the top bit of chars.
The string(3) functions are used a fair bit, on the grounds that they are
probably faster than coding the operations in line. Some attempts at code
tuning have been made, but this is invariably a bit machine-specific.

View File

@@ -0,0 +1,37 @@
/* $XConsortium: README.osf /main/2 1996/07/15 14:10:16 drk $ */
#
# Copyright (c) 1994
# Open Software Foundation, Inc.
#
# Permission is hereby granted to use, copy, modify and freely distribute
# the software in this file and its documentation for any purpose without
# fee, provided that the above copyright notice appears in all copies and
# that both the copyright notice and this permission notice appear in
# supporting documentation. Further, provided that the name of Open
# Software Foundation, Inc. ("OSF") not be used in advertising or
# publicity pertaining to distribution of the software without prior
# written permission from OSF. OSF makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
OSF did not write this code.
Changes made:
Renamed "regexp.h" to "tptregexp.h" to avoid conflicts with systems that
have a /usr/include/regexp.h. Changed the *.c files in the appropriate
places.
Renamed these routines:
regcomp() -> tpt_regcomp()
regexec() -> tpt_regexec()
regsub() -> tpt_regsub()
regerror() -> tpt_regerror()
This is to avoid conflicts in the standard C library.
In Makefile - wrote "all" and "install" targets. Changed "regexp.h"
to "tptregexp.h", as appropriate.
In regexp.c - added #include <string.h> to keep compiler happy.

View File

@@ -0,0 +1,15 @@
/* $XConsortium: regerror.c /main/3 1996/06/19 17:13:36 drk $ */
#include <stdio.h>
void
tpt_regerror(s)
char *s;
{
#ifdef ERRAVAIL
error("tpt_regexp: %s", s);
#else
fprintf(stderr, "tpt_regexp(3): %s", s);
exit(1);
#endif
/* NOTREACHED */
}

View File

@@ -0,0 +1,180 @@
.\" $XConsortium: regexp.3 /main/2 1996/10/29 15:06:28 drk $
.TH REGEXP 3 local
.DA 30 Nov 1985
.SH NAME
regcomp, regexec, regsub, regerror \- regular expression handler
.SH SYNOPSIS
.ft B
.nf
#include <regexp.h>
regexp *regcomp(exp)
char *exp;
int regexec(prog, string)
regexp *prog;
char *string;
regsub(prog, source, dest)
regexp *prog;
char *source;
char *dest;
regerror(msg)
char *msg;
.SH DESCRIPTION
These functions implement
.IR egrep (1)-style
regular expressions and supporting facilities.
.PP
.I Regcomp
compiles a regular expression into a structure of type
.IR regexp ,
and returns a pointer to it.
The space has been allocated using
.IR malloc (3)
and may be released by
.IR free .
.PP
.I Regexec
matches a NUL-terminated \fIstring\fR against the compiled regular expression
in \fIprog\fR.
It returns 1 for success and 0 for failure, and adjusts the contents of
\fIprog\fR's \fIstartp\fR and \fIendp\fR (see below) accordingly.
.PP
The members of a
.I regexp
structure include at least the following (not necessarily in order):
.PP
.RS
char *startp[NSUBEXP];
.br
char *endp[NSUBEXP];
.RE
.PP
where
.I NSUBEXP
is defined (as 10) in the header file.
Once a successful \fIregexec\fR has been done using the \fIregexp\fR,
each \fIstartp\fR-\fIendp\fR pair describes one substring
within the \fIstring\fR,
with the \fIstartp\fR pointing to the first character of the substring and
the \fIendp\fR pointing to the first character following the substring.
The 0th substring is the substring of \fIstring\fR that matched the whole
regular expression.
The others are those substrings that matched parenthesized expressions
within the regular expression, with parenthesized expressions numbered
in left-to-right order of their opening parentheses.
.PP
.I Regsub
copies \fIsource\fR to \fIdest\fR, making substitutions according to the
most recent \fIregexec\fR performed using \fIprog\fR.
Each instance of `&' in \fIsource\fR is replaced by the substring
indicated by \fIstartp\fR[\fI0\fR] and
\fIendp\fR[\fI0\fR].
Each instance of `\e\fIn\fR', where \fIn\fR is a digit, is replaced by
the substring indicated by
\fIstartp\fR[\fIn\fR] and
\fIendp\fR[\fIn\fR].
To get a literal `&' or `\e\fIn\fR' into \fIdest\fR, prefix it with `\e';
to get a literal `\e' preceding `&' or `\e\fIn\fR', prefix it with
another `\e'.
.PP
.I Regerror
is called whenever an error is detected in \fIregcomp\fR, \fIregexec\fR,
or \fIregsub\fR.
The default \fIregerror\fR writes the string \fImsg\fR,
with a suitable indicator of origin,
on the standard
error output
and invokes \fIexit\fR(2).
.I Regerror
can be replaced by the user if other actions are desirable.
.SH "REGULAR EXPRESSION SYNTAX"
A regular expression is zero or more \fIbranches\fR, separated by `|'.
It matches anything that matches one of the branches.
.PP
A branch is zero or more \fIpieces\fR, concatenated.
It matches a match for the first, followed by a match for the second, etc.
.PP
A piece is an \fIatom\fR possibly followed by `*', `+', or `?'.
An atom followed by `*' matches a sequence of 0 or more matches of the atom.
An atom followed by `+' matches a sequence of 1 or more matches of the atom.
An atom followed by `?' matches a match of the atom, or the null string.
.PP
An atom is a regular expression in parentheses (matching a match for the
regular expression), a \fIrange\fR (see below), `.'
(matching any single character), `^' (matching the null string at the
beginning of the input string), `$' (matching the null string at the
end of the input string), a `\e' followed by a single character (matching
that character), or a single character with no other significance
(matching that character).
.PP
A \fIrange\fR is a sequence of characters enclosed in `[]'.
It normally matches any single character from the sequence.
If the sequence begins with `^',
it matches any single character \fInot\fR from the rest of the sequence.
If two characters in the sequence are separated by `\-', this is shorthand
for the full list of ASCII characters between them
(e.g. `[0-9]' matches any decimal digit).
To include a literal `]' in the sequence, make it the first character
(following a possible `^').
To include a literal `\-', make it the first or last character.
.SH AMBIGUITY
If a regular expression could match two different parts of the input string,
it will match the one which begins earliest.
If both begin in the same place but match different lengths, or match
the same length in different ways, life gets messier, as follows.
.PP
In general, the possibilities in a list of branches are considered in
left-to-right order, the possibilities for `*', `+', and `?' are
considered longest-first, nested constructs are considered from the
outermost in, and concatenated constructs are considered leftmost-first.
The match that will be chosen is the one that uses the earliest
possibility in the first choice that has to be made.
If there is more than one choice, the next will be made in the same manner
(earliest possibility) subject to the decision on the first choice.
And so forth.
.PP
For example, `(ab|a)b*c' could match `abc' in one of two ways.
The first choice is between `ab' and `a'; since `ab' is earlier, and does
lead to a successful overall match, it is chosen.
Since the `b' is already spoken for,
the `b*' must match its last possibility\(emthe empty string\(emsince
it must respect the earlier choice.
.PP
In the particular case where no `|'s are present and there is only one
`*', `+', or `?', the net effect is that the longest possible
match will be chosen.
So `ab*', presented with `xabbbby', will match `abbbb'.
Note that if `ab*' is tried against `xabyabbbz', it
will match `ab' just after `x', due to the begins-earliest rule.
(In effect, the decision on where to start the match is the first choice
to be made, hence subsequent choices must respect it even if this leads them
to less-preferred alternatives.)
.SH SEE ALSO
egrep(1), expr(1)
.SH DIAGNOSTICS
\fIRegcomp\fR returns NULL for a failure
(\fIregerror\fR permitting),
where failures are syntax errors, exceeding implementation limits,
or applying `+' or `*' to a possibly-null operand.
.SH HISTORY
Both code and manual page were
written at U of T.
They are intended to be compatible with the Bell V8 \fIregexp\fR(3),
but are not derived from Bell code.
.SH BUGS
Empty branches and empty regular expressions are not portable to V8.
.PP
The restriction against
applying `*' or `+' to a possibly-null operand is an artifact of the
simplistic implementation.
.PP
Does not support \fIegrep\fR's newline-separated branches;
neither does the V8 \fIregexp\fR(3), though.
.PP
Due to emphasis on
compactness and simplicity,
it's not strikingly fast.
It does give special attention to handling simple cases quickly.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
/* $XConsortium: regmagic.h /main/3 1996/06/19 17:13:41 drk $ */
/*
* The first byte of the regexp internal "program" is actually this magic
* number; the start node begins in the second byte.
*/
#define MAGIC 0234

View File

@@ -0,0 +1,82 @@
/* $XConsortium: regsub.c /main/3 1996/06/19 17:13:46 drk $ */
/*
* regsub
*
* Copyright (c) 1986 by University of Toronto.
* Written by Henry Spencer. Not derived from licensed software.
*
* Permission is granted to anyone to use this software for any
* purpose on any computer system, and to redistribute it freely,
* subject to the following restrictions:
*
* 1. The author is not responsible for the consequences of use of
* this software, no matter how awful, even if they arise
* from defects in it.
*
* 2. The origin of this software must not be misrepresented, either
* by explicit claim or by omission.
*
* 3. Altered versions must be plainly marked as such, and must not
* be misrepresented as being the original software.
*/
#include <stdio.h>
#include <tptregexp.h>
#include "regmagic.h"
#ifndef CHARBITS
#define UCHARAT(p) ((int)*(unsigned char *)(p))
#else
#define UCHARAT(p) ((int)*(p)&CHARBITS)
#endif
/*
- regsub - perform substitutions after a regexp match
*/
void
tpt_regsub(prog, source, dest)
regexp *prog;
char *source;
char *dest;
{
register char *src;
register char *dst;
register char c;
register int no;
register int len;
extern char *strncpy();
if (prog == NULL || source == NULL || dest == NULL) {
tpt_regerror("NULL parm to regsub");
return;
}
if (UCHARAT(prog->program) != MAGIC) {
tpt_regerror("damaged regexp fed to regsub");
return;
}
src = source;
dst = dest;
while ((c = *src++) != '\0') {
if (c == '&')
no = 0;
else if (c == '\\' && '0' <= *src && *src <= '9')
no = *src++ - '0';
else
no = -1;
if (no < 0) { /* Ordinary character. */
if (c == '\\' && (*src == '\\' || *src == '&'))
c = *src++;
*dst++ = c;
} else if (prog->startp[no] != NULL && prog->endp[no] != NULL) {
len = prog->endp[no] - prog->startp[no];
(void) strncpy(dst, prog->startp[no], len);
dst += len;
if (len != 0 && *(dst-1) == '\0') { /* strncpy hit NUL. */
tpt_regerror("damaged match string");
return;
}
}
}
*dst++ = '\0';
}

View File

@@ -0,0 +1,127 @@
abc abc y & abc
abc xbc n - -
abc axc n - -
abc abx n - -
abc xabcy y & abc
abc ababc y & abc
ab*c abc y & abc
ab*bc abc y & abc
ab*bc abbc y & abbc
ab*bc abbbbc y & abbbbc
ab+bc abbc y & abbc
ab+bc abc n - -
ab+bc abq n - -
ab+bc abbbbc y & abbbbc
ab?bc abbc y & abbc
ab?bc abc y & abc
ab?bc abbbbc n - -
ab?c abc y & abc
^abc$ abc y & abc
^abc$ abcc n - -
^abc abcc y & abc
^abc$ aabc n - -
abc$ aabc y & abc
^ abc y &
$ abc y &
a.c abc y & abc
a.c axc y & axc
a.*c axyzc y & axyzc
a.*c axyzd n - -
a[bc]d abc n - -
a[bc]d abd y & abd
a[b-d]e abd n - -
a[b-d]e ace y & ace
a[b-d] aac y & ac
a[-b] a- y & a-
a[b-] a- y & a-
a[b-a] - c - -
a[]b - c - -
a[ - c - -
a] a] y & a]
a[]]b a]b y & a]b
a[^bc]d aed y & aed
a[^bc]d abd n - -
a[^-b]c adc y & adc
a[^-b]c a-c n - -
a[^]b]c a]c n - -
a[^]b]c adc y & adc
ab|cd abc y & ab
ab|cd abcd y & ab
()ef def y &-\1 ef-
()* - c - -
*a - c - -
^* - c - -
$* - c - -
(*)b - c - -
$b b n - -
a\ - c - -
a\(b a(b y &-\1 a(b-
a\(*b ab y & ab
a\(*b a((b y & a((b
a\\b a\b y & a\b
abc) - c - -
(abc - c - -
((a)) abc y &-\1-\2 a-a-a
(a)b(c) abc y &-\1-\2 abc-a-c
a+b+c aabbabc y & abc
a** - c - -
a*? - c - -
(a*)* - c - -
(a*)+ - c - -
(a|)* - c - -
(a*|b)* - c - -
(a+|b)* ab y &-\1 ab-b
(a+|b)+ ab y &-\1 ab-b
(a+|b)? ab y &-\1 a-a
[^ab]* cde y & cde
(^)* - c - -
(ab|)* - c - -
)( - c - -
abc y &
abc n - -
a* y &
([abc])*d abbbcd y &-\1 abbbcd-c
([abc])*bcd abcd y &-\1 abcd-a
a|b|c|d|e e y & e
(a|b|c|d|e)f ef y &-\1 ef-e
((a*|b))* - c - -
abcd*efg abcdefg y & abcdefg
ab* xabyabbbz y & ab
ab* xayabbbz y & a
(ab|cd)e abcde y &-\1 cde-cd
[abhgefdc]ij hij y & hij
^(ab|cd)e abcde n x\1y xy
(abc|)ef abcdef y &-\1 ef-
(a|b)c*d abcd y &-\1 bcd-b
(ab|ab*)bc abc y &-\1 abc-a
a([bc]*)c* abc y &-\1 abc-bc
a([bc]*)(c*d) abcd y &-\1-\2 abcd-bc-d
a([bc]+)(c*d) abcd y &-\1-\2 abcd-bc-d
a([bc]*)(c+d) abcd y &-\1-\2 abcd-b-cd
a[bcd]*dcdcde adcdcde y & adcdcde
a[bcd]+dcdcde adcdcde n - -
(ab|a)b*c abc y &-\1 abc-ab
((a)(b)c)(d) abcd y \1-\2-\3-\4 abc-a-b-d
[a-zA-Z_][a-zA-Z0-9_]* alpha y & alpha
^a(bc+|b[eh])g|.h$ abh y &-\1 bh-
(bc+d$|ef*g.|h?i(j|k)) effgz y &-\1-\2 effgz-effgz-
(bc+d$|ef*g.|h?i(j|k)) ij y &-\1-\2 ij-ij-j
(bc+d$|ef*g.|h?i(j|k)) effg n - -
(bc+d$|ef*g.|h?i(j|k)) bcdd n - -
(bc+d$|ef*g.|h?i(j|k)) reffgz y &-\1-\2 effgz-effgz-
((((((((((a)))))))))) - c - -
(((((((((a))))))))) a y & a
multiple words of text uh-uh n - -
multiple words multiple words, yeah y & multiple words
(.*)c(.*) abcde y &-\1-\2 abcde-ab-de
\((.*), (.*)\) (a, b) y (\2, \1) (b, a)
[k] ab n - -
abcd abcd y &-\&-\\& abcd-&-\abcd
a(bc)d abcd y \1-\\1-\\\1 bc-\1-\bc
[ -~]* abc y & abc
[ -~ -~]* abc y & abc
[ -~ -~ -~]* abc y & abc
[ -~ -~ -~ -~]* abc y & abc
[ -~ -~ -~ -~ -~]* abc y & abc
[ -~ -~ -~ -~ -~ -~]* abc y & abc
[ -~ -~ -~ -~ -~ -~ -~]* abc y & abc

View File

@@ -0,0 +1,183 @@
/* $XConsortium: timer.c /main/3 1996/06/19 17:13:50 drk $ */
/*
* Simple timing program for regcomp().
*
* Copyright (c) 1986 by University of Toronto.
* Written by Henry Spencer. Not derived from licensed software.
*
* Permission is granted to anyone to use this software for any
* purpose on any computer system, and to redistribute it freely,
* subject to the following restrictions:
*
* 1. The author is not responsible for the consequences of use of
* this software, no matter how awful, even if they arise
* from defects in it.
*
* 2. The origin of this software must not be misrepresented, either
* by explicit claim or by omission.
*
* 3. Altered versions must be plainly marked as such, and must not
* be misrepresented as being the original software.
*
* Usage: timer ncomp nexec nsub
* or
* timer ncomp nexec nsub regexp string [ answer [ sub ] ]
*
* The second form is for timing repetitions of a single test case.
* The first form's test data is a compiled-in copy of the "tests" file.
* Ncomp, nexec, nsub are how many times to do each regcomp, regexec,
* and regsub. The way to time an operation individually is to do something
* like "timer 1 50 1".
*/
#include <stdio.h>
struct try {
char *re, *str, *ans, *src, *dst;
} tests[] = {
#include "timer.t.h"
{ NULL, NULL, NULL, NULL, NULL }
};
#include <tptregexp.h>
int errreport = 0; /* Report errors via errseen? */
char *errseen = NULL; /* Error message. */
char *progname;
/* ARGSUSED */
main(argc, argv)
int argc;
char *argv[];
{
int ncomp, nexec, nsub;
struct try one;
char dummy[512];
if (argc < 4) {
ncomp = 1;
nexec = 1;
nsub = 1;
} else {
ncomp = atoi(argv[1]);
nexec = atoi(argv[2]);
nsub = atoi(argv[3]);
}
progname = argv[0];
if (argc > 5) {
one.re = argv[4];
one.str = argv[5];
if (argc > 6)
one.ans = argv[6];
else
one.ans = "y";
if (argc > 7) {
one.src = argv[7];
one.dst = "xxx";
} else {
one.src = "x";
one.dst = "x";
}
errreport = 1;
try(one, ncomp, nexec, nsub);
} else
multiple(ncomp, nexec, nsub);
exit(0);
}
void
tpt_regerror(s)
char *s;
{
if (errreport)
errseen = s;
else
error(s, "");
}
#ifndef ERRAVAIL
error(s1, s2)
char *s1;
char *s2;
{
fprintf(stderr, "regexp: ");
fprintf(stderr, s1, s2);
fprintf(stderr, "\n");
exit(1);
}
#endif
int lineno = 0;
multiple(ncomp, nexec, nsub)
int ncomp, nexec, nsub;
{
register int i;
extern char *strchr();
errreport = 1;
for (i = 0; tests[i].re != NULL; i++) {
lineno++;
try(tests[i], ncomp, nexec, nsub);
}
}
try(fields, ncomp, nexec, nsub)
struct try fields;
int ncomp, nexec, nsub;
{
regexp *r;
char dbuf[BUFSIZ];
register int i;
errseen = NULL;
r = tpt_regcomp(fields.re);
if (r == NULL) {
if (*fields.ans != 'c')
complain("tpt_regcomp failure in `%s'", fields.re);
return;
}
if (*fields.ans == 'c') {
complain("unexpected tpt_regcomp success in `%s'", fields.re);
free((char *)r);
return;
}
for (i = ncomp-1; i > 0; i--) {
free((char *)r);
r = tpt_regcomp(fields.re);
}
if (!tpt_regexec(r, fields.str)) {
if (*fields.ans != 'n')
complain("tpt_regexec failure in `%s'", "");
free((char *)r);
return;
}
if (*fields.ans == 'n') {
complain("unexpected tpt_regexec success", "");
free((char *)r);
return;
}
for (i = nexec-1; i > 0; i--)
(void) tpt_regexec(r, fields.str);
errseen = NULL;
for (i = nsub; i > 0; i--)
tpt_regsub(r, fields.src, dbuf);
if (errseen != NULL) {
complain("tpt_regsub complaint", "");
free((char *)r);
return;
}
if (strcmp(dbuf, fields.dst) != 0)
complain("tpt_regsub result `%s' wrong", dbuf);
free((char *)r);
}
complain(s1, s2)
char *s1;
char *s2;
{
fprintf(stderr, "try: %d: ", lineno);
fprintf(stderr, s1, s2);
fprintf(stderr, " (%s)\n", (errseen != NULL) ? errseen : "");
}

View File

@@ -0,0 +1,22 @@
/* $XConsortium: tptregexp.h /main/3 1996/06/19 17:13:54 drk $ */
/*
* Definitions etc. for regexp(3) routines.
*
* Caveat: this is V8 regexp(3) [actually, a reimplementation thereof],
* not the System V one.
*/
#define NSUBEXP 10
typedef struct regexp {
char *startp[NSUBEXP];
char *endp[NSUBEXP];
char regstart; /* Internal use only. */
char reganch; /* Internal use only. */
char *regmust; /* Internal use only. */
int regmlen; /* Internal use only. */
char program[1]; /* Unwarranted chumminess with compiler. */
} regexp;
extern regexp *tpt_regcomp();
extern int tpt_regexec();
extern void tpt_regsub();
extern void tpt_regerror();

View File

@@ -0,0 +1,239 @@
/* $XConsortium: try.c /main/3 1996/06/19 17:13:58 drk $ */
/*
* Simple test program for regexp(3) stuff. Knows about debugging hooks.
*
* Copyright (c) 1986 by University of Toronto.
* Written by Henry Spencer. Not derived from licensed software.
*
* Permission is granted to anyone to use this software for any
* purpose on any computer system, and to redistribute it freely,
* subject to the following restrictions:
*
* 1. The author is not responsible for the consequences of use of
* this software, no matter how awful, even if they arise
* from defects in it.
*
* 2. The origin of this software must not be misrepresented, either
* by explicit claim or by omission.
*
* 3. Altered versions must be plainly marked as such, and must not
* be misrepresented as being the original software.
*
* Usage: try re [string [output [-]]]
* The re is compiled and dumped, regexeced against the string, the result
* is applied to output using regsub(). The - triggers a running narrative
* from regexec(). Dumping and narrative don't happen unless DEBUG.
*
* If there are no arguments, stdin is assumed to be a stream of lines with
* five fields: a r.e., a string to match it against, a result code, a
* source string for regsub, and the proper result. Result codes are 'c'
* for compile failure, 'y' for match success, 'n' for match failure.
* Field separator is tab.
*/
#include <stdio.h>
#include <tptregexp.h>
#ifdef ERRAVAIL
char *progname;
extern char *mkprogname();
#endif
#ifdef DEBUG
extern int regnarrate;
#endif
char buf[BUFSIZ];
int errreport = 0; /* Report errors via errseen? */
char *errseen = NULL; /* Error message. */
int status = 0; /* Exit status. */
/* ARGSUSED */
main(argc, argv)
int argc;
char *argv[];
{
regexp *r;
int i;
#ifdef ERRAVAIL
progname = mkprogname(argv[0]);
#endif
if (argc == 1) {
multiple();
exit(status);
}
r = tpt_regcomp(argv[1]);
if (r == NULL)
error("tpt_regcomp failure", "");
#ifdef DEBUG
regdump(r);
if (argc > 4)
regnarrate++;
#endif
if (argc > 2) {
i = tpt_regexec(r, argv[2]);
printf("%d", i);
for (i = 1; i < NSUBEXP; i++)
if (r->startp[i] != NULL && r->endp[i] != NULL)
printf(" \\%d", i);
printf("\n");
}
if (argc > 3) {
tpt_regsub(r, argv[3], buf);
printf("%s\n", buf);
}
exit(status);
}
void
tpt_regerror(s)
char *s;
{
if (errreport)
errseen = s;
else
error(s, "");
}
#ifndef ERRAVAIL
error(s1, s2)
char *s1;
char *s2;
{
fprintf(stderr, "regexp: ");
fprintf(stderr, s1, s2);
fprintf(stderr, "\n");
exit(1);
}
#endif
int lineno;
regexp badregexp; /* Implicit init to 0. */
multiple()
{
char rbuf[BUFSIZ];
char *field[5];
char *scan;
int i;
regexp *r;
extern char *strchr();
errreport = 1;
lineno = 0;
while (fgets(rbuf, sizeof(rbuf), stdin) != NULL) {
rbuf[strlen(rbuf)-1] = '\0'; /* Dispense with \n. */
lineno++;
scan = rbuf;
for (i = 0; i < 5; i++) {
field[i] = scan;
if (field[i] == NULL) {
complain("bad testfile format", "");
exit(1);
}
scan = strchr(scan, '\t');
if (scan != NULL)
*scan++ = '\0';
}
try(field);
}
/* And finish up with some internal testing... */
lineno = 9990;
errseen = NULL;
if (tpt_regcomp((char *)NULL) != NULL || errseen == NULL)
complain("tpt_regcomp(NULL) doesn't complain", "");
lineno = 9991;
errseen = NULL;
if (tpt_regexec((regexp *)NULL, "foo") || errseen == NULL)
complain("tpt_regexec(NULL, ...) doesn't complain", "");
lineno = 9992;
r = tpt_regcomp("foo");
if (r == NULL) {
complain("tpt_regcomp(\"foo\") fails", "");
return;
}
lineno = 9993;
errseen = NULL;
if (tpt_regexec(r, (char *)NULL) || errseen == NULL)
complain("tpt_regexec(..., NULL) doesn't complain", "");
lineno = 9994;
errseen = NULL;
tpt_regsub((regexp *)NULL, "foo", rbuf);
if (errseen == NULL)
complain("tpt_regsub(NULL, ..., ...) doesn't complain", "");
lineno = 9995;
errseen = NULL;
tpt_regsub(r, (char *)NULL, rbuf);
if (errseen == NULL)
complain("tpt_regsub(..., NULL, ...) doesn't complain", "");
lineno = 9996;
errseen = NULL;
tpt_regsub(r, "foo", (char *)NULL);
if (errseen == NULL)
complain("tpt_regsub(..., ..., NULL) doesn't complain", "");
lineno = 9997;
errseen = NULL;
if (tpt_regexec(&badregexp, "foo") || errseen == NULL)
complain("tpt_regexec(nonsense, ...) doesn't complain", "");
lineno = 9998;
errseen = NULL;
tpt_regsub(&badregexp, "foo", rbuf);
if (errseen == NULL)
complain("tpt_regsub(nonsense, ..., ...) doesn't complain", "");
}
try(fields)
char **fields;
{
regexp *r;
char dbuf[BUFSIZ];
errseen = NULL;
r = tpt_regcomp(fields[0]);
if (r == NULL) {
if (*fields[2] != 'c')
complain("tpt_regcomp failure in `%s'", fields[0]);
return;
}
if (*fields[2] == 'c') {
complain("unexpected tpt_regcomp success in `%s'", fields[0]);
free((char *)r);
return;
}
if (!tpt_regexec(r, fields[1])) {
if (*fields[2] != 'n')
complain("tpt_regexec failure in `%s'", "");
free((char *)r);
return;
}
if (*fields[2] == 'n') {
complain("unexpected tpt_regexec success", "");
free((char *)r);
return;
}
errseen = NULL;
tpt_regsub(r, fields[3], dbuf);
if (errseen != NULL) {
complain("tpt_regsub complaint", "");
free((char *)r);
return;
}
if (strcmp(dbuf, fields[4]) != 0)
complain("tpt_regsub result `%s' wrong", dbuf);
free((char *)r);
}
complain(s1, s2)
char *s1;
char *s2;
{
fprintf(stderr, "try: %d: ", lineno);
fprintf(stderr, s1, s2);
fprintf(stderr, " (%s)\n", (errseen != NULL) ? errseen : "");
status = 1;
}