Release with updates from the CGAL Utrecht Meeting.

This commit is contained in:
Lutz Kettner 1997-04-25 00:05:22 +00:00
parent 4420645cd9
commit bc31172793
8 changed files with 160 additions and 42 deletions

View File

@ -20,7 +20,8 @@
INSTALL_DIR = $(PUBLIC)/$(SYSTEM)/bin # local settings on my machine
# Include path (needs probably no adaption)
INCL = -I.
INCL = -I. -I/pub/local/STL/HP # STL distribution
#INCL = -I.
# Path for the HTML conversion tools for the default configuration files.
# This path will be compiled into the cc_extract_html program and used for
@ -40,8 +41,8 @@ CPP = CC
# The C++ compiler options (optimization, debugging, warnings, includes)
#CPPOPT = -g -Wall $(INCL) # Gnu
CPPOPT = -g +w -woff 3666 $(INCL) # Sgi
#CPPOPT = -g +w $(INCL) # Sun
CPPOPT = -O -g3 +w -woff 3666 $(INCL) # Sgi
#CPPOPT = -O -g +w $(INCL) # Sun
# A C compiler:
# Gnu gcc 2.6.3 (or above)
@ -63,7 +64,7 @@ LINK = $(CPP) $(CPPOPT)
# The flex and bison output might produce a lot of warnings with
# the C++ compiler (Sgi). Special options switch these messages off.
#XCOMPILE = $(COMPILE) # Gnu
XCOMPILE = $(COMPILE) -woff 3203 # SGI
XCOMPILE = $(COMPILE) -woff 3203 -woff 3666 # SGI
#XCOMPILE = $(COMPILE) # Sun
# Default targets to make:
@ -77,7 +78,7 @@ ALL = cc_extract cc_build_checker cc_extract_html cc_index_sort
PROGRAM_FILES = cc_extract cc_build_checker cc_extract_html cc_index_sort
# all the files that have to be moved into a directory in the $PATH
SCRIPT_FILES = cc_check cc_manual_to_html
SCRIPT_FILES = cc_check cc_manual_to_html cc_extract_include
# all the files for the HTML config directory
HTML_CONFIG_FILES = html_config_files/*

View File

@ -41,10 +41,10 @@ class TextToken;
// Substitute old style malloc, realloc, strdup ...
// ================================================
template < class T, class I>
T* renew( const T* old, I old_size, I new_size);
T* renew( T* old, I old_size, I new_size);
template < class T, class I>
T* renew( const T* old, I old_size, I new_size) {
T* renew( T* old, I old_size, I new_size) {
ADT_Assert( old);
ADT_Assert( strlen( old) == size_t(old_size - 1));
ADT_Assert( new_size > old_size);

View File

@ -740,16 +740,26 @@ void filter_for_index_anchor( ostream& out, const char* text) {
while( *text) {
switch ( *text) {
case '<':
out << '(';
case '(':
case '[':
case '{':
out << '6';
break;
case '>':
out << '(';
case ')':
case ']':
case '}':
out << '9';
break;
case '"':
case '&':
case ' ':
out << '_';
break;
case ',':
case '.':
out << '+';
break;
default:
out << *text;
}

View File

@ -254,6 +254,16 @@ cat ${new_tmp_path}/cc_index_header ${new_tmp_path}/cc_index_sorted ${new_tmp_pa
if ( $?DEBUG) echo "${new_tmp_path}/cc_anchor_filter < ${new_tmp_path}/cc_index > ${out_path}/manual_index.html"
${new_tmp_path}/cc_anchor_filter < ${new_tmp_path}/cc_index > ${out_path}/manual_index.html
# Copy the images for the advanced section to the manual.
# -------------------------------------------------------
if ( -r ${HTML_DEFAULT_PATH}/cc_advanced_begin.gif) then
cp ${HTML_DEFAULT_PATH}/cc_advanced_begin.gif ${out_path}
if ( $?DEBUG) echo "cp ${HTML_DEFAULT_PATH}/cc_advanced_begin.gif ${out_path}"
endif
if ( -r ${HTML_DEFAULT_PATH}/cc_advanced_end.gif) then
cp ${HTML_DEFAULT_PATH}/cc_advanced_end.gif ${out_path}
if ( $?DEBUG) echo "cp ${HTML_DEFAULT_PATH}/cc_advanced_end.gif ${out_path}"
endif
# Cleanup
# -------

View File

@ -260,6 +260,10 @@ blockintro [\{][\\]((tt)|(em)|(it)|(sc)|(sl))
BEGIN( NestingMode);
return CCSTYLE;
}
[\\]ccc/{noletter} { /* CCstyle formatting: change to NestingMode */
BEGIN( NestingMode);
return CCSTYLE;
}
[\\]cc(Pure)?Var{w} {
if ( creationvariable) {
yylval.string.text = creationvariable;
@ -373,18 +377,23 @@ blockintro [\{][\\]((tt)|(em)|(it)|(sc)|(sl))
yylval.string.len = -1;
return STRING;
}
[\\]ccInheritsFrom{w} {
yylval.string.text = "INHERITS FROM";
yylval.string.len = -1;
return STRING;
}
[\\]ccParameters{w} {
yylval.string.text = "PARAMETERS";
yylval.string.len = -1;
return STRING;
}
[\\]ccConstants{w} {
yylval.string.text = "CONSTANTS";
[\\]ccTypes{w} {
yylval.string.text = "TYPES";
yylval.string.len = -1;
return STRING;
}
[\\]ccTypes{w} {
yylval.string.text = "TYPES";
[\\]ccConstants{w} {
yylval.string.text = "CONSTANTS";
yylval.string.len = -1;
return STRING;
}
@ -398,6 +407,21 @@ blockintro [\{][\\]((tt)|(em)|(it)|(sc)|(sl))
yylval.string.len = -1;
return STRING;
}
[\\]ccAccessFunctions{w} {
yylval.string.text = "ACCESS FUNCTIONS";
yylval.string.len = -1;
return STRING;
}
[\\]ccPredicates{w} {
yylval.string.text = "PREDICATES";
yylval.string.len = -1;
return STRING;
}
[\\]ccModifiers{w} {
yylval.string.text = "MODIFIERS";
yylval.string.len = -1;
return STRING;
}
[\\]ccImplementation{w} {
yylval.string.text = "IMPLEMENTATION";
yylval.string.len = -1;
@ -408,6 +432,19 @@ blockintro [\{][\\]((tt)|(em)|(it)|(sc)|(sl))
yylval.string.len = -1;
return STRING;
}
[\\]begin[\{]ccAdvanced[\}] {
yylval.string.text = "(begin of an advanced section)";
yylval.string.len = -1;
return STRING;
}
[\\]end[\{]ccAdvanced[\}] {
yylval.string.text = "(end of an advanced section)";
yylval.string.len = -1;
return STRING;
}
[\\]ccInclude{w} {
return INCLUDE;
}
[\\]ccHeading{w} {
return HEADING;
}
@ -439,24 +476,18 @@ blockintro [\{][\\]((tt)|(em)|(it)|(sc)|(sl))
yylval.string.len = 2;
return STRING;
}
[\\]ccSetTwoOfThreeColumns{w} {
return GOBBLETWOPARAMS;
}
[\\]ccSetThreeColumns{w} {
return GOBBLETHREEPARAMS;
}
[\\]ccSetOneOfTwoColumns{w} {
return GOBBLEONEPARAM;
}
[\\]ccSetTwoColumns{w} {
return GOBBLETWOPARAMS;
}
[\\]ccPropagateThreeToTwoColumns{w} {
[\\]ccSetTwoOfThreeColumns{w} { return GOBBLETWOPARAMS; }
[\\]ccSetThreeColumns{w} { return GOBBLETHREEPARAMS; }
[\\]ccThree/{noletter} { return GOBBLETHREEPARAMS; }
[\\]ccSetOneOfTwoColumns{w} { return GOBBLEONEPARAM; }
[\\]ccSetTwoColumns{w} { return GOBBLETWOPARAMS; }
[\\]ccTwo/{noletter} { return GOBBLETWOPARAMS; }
[\\]cc((PropagateThreeToTwoColumns)(ThreeToTwo)){w} {
yylval.string.text = " ";
yylval.string.len = 0;
return SPACE;
}
[\\]cc((GlueDeclarations)|(ParDims)){w} {
[\\]cc((Glue((Begin)|(End)|(Declarations))?)|(ParDims)){w} {
yylval.string.text = " ";
yylval.string.len = 0;
return SPACE;
@ -517,15 +548,13 @@ blockintro [\{][\\]((tt)|(em)|(it)|(sc)|(sl))
yylval.character = '#';
return CHAR;
}
[~] {
[~]|([\\]" ")|([\\][\n]) {
yylval.string.text = " ";
yylval.string.len = 1;
return SPACE;
}
[\\][\\] {
yylval.string.text = " ";
yylval.string.len = 1;
return SPACE;
return NEWLINE;
}

View File

@ -100,6 +100,7 @@ int yyerror( char *s);
%token CCSTYLE
%token CCSECTION
%token CCSUBSECTION
%token INCLUDE
%token HEADING
%token COMMENTHEADING
%token GOBBLETHREEPARAMS
@ -163,6 +164,7 @@ stmt: string { delete $1;}
delete $3;
}
| HEADING '{' comment_sequence '}' { delete $3; }
| INCLUDE '{' comment_sequence '}' { delete $3; }
| COMMENTHEADING '{' comment_sequence '}' { delete $3; }
| BEGINTEXONLY nested_token_sequence ENDTEXONLY {
delete $2;
@ -206,6 +208,7 @@ reduced_statement:
delete $3;
}
| HEADING '{' comment_sequence '}' { delete $3; }
| INCLUDE '{' comment_sequence '}' { delete $3; }
| COMMENTHEADING '{' comment_sequence '}' { delete $3; }
| BEGINTEXONLY nested_token_sequence ENDTEXONLY {
delete $2;
@ -511,6 +514,13 @@ compound_comment: '{' full_comment_sequence '}' {
| HEADING '{' comment_sequence '}' {
$$ = $3;
}
| INCLUDE '{' comment_sequence '}' {
$$ = $3;
$$->cons( *new TextToken( "<"));
$$->cons( *new TextToken( " ", 1, true));
$$->cons( *new TextToken( "#include"));
$$->append( *new TextToken( ">"));
}
| COMMENTHEADING '{' comment_sequence '}' {
$$ = $3;
}

View File

@ -520,7 +520,8 @@ bfblockintro [\{][\\](bf)
/* Specialized keywords from the manual style */
/* -------------------------------------------------------------- */
[\\]ccStyle/{noletter} { /* CCstyle formatting: change to NestingMode */
[\\]cc((Style)|(c))/{noletter} {
/* CCstyle formatting: change to NestingMode */
skipspaces();
BEGIN( NestingMode);
return CCSTYLE;
@ -703,24 +704,30 @@ bfblockintro [\{][\\](bf)
yylval.string.len = -1;
return STRING;
}
[\\]ccInheritsFrom/{noletter} {
skipspaces();
yylval.string.text = "<H3>Inherits From</H3>";
yylval.string.len = -1;
return STRING;
}
[\\]ccParameters/{noletter} {
skipspaces();
yylval.string.text = "<H3>Parameters</H3>";
yylval.string.len = -1;
return STRING;
}
[\\]ccConstants/{noletter} {
skipspaces();
yylval.string.text = "<H3>Constants</H3>";
yylval.string.len = -1;
return STRING;
}
[\\]ccTypes/{noletter} {
skipspaces();
yylval.string.text = "<H3>Types</H3>";
yylval.string.len = -1;
return STRING;
}
[\\]ccConstants/{noletter} {
skipspaces();
yylval.string.text = "<H3>Constants</H3>";
yylval.string.len = -1;
return STRING;
}
[\\]ccCreation/{noletter} {
skipspaces();
yylval.string.text = "<H3>Creation</H3>";
@ -733,6 +740,24 @@ bfblockintro [\{][\\](bf)
yylval.string.len = -1;
return STRING;
}
[\\]ccAccessFunctions/{noletter} {
skipspaces();
yylval.string.text = "<H3>Access Functions</H3>";
yylval.string.len = -1;
return STRING;
}
[\\]ccPredicates/{noletter} {
skipspaces();
yylval.string.text = "<H3>Predicates</H3>";
yylval.string.len = -1;
return STRING;
}
[\\]ccModfiers/{noletter} {
skipspaces();
yylval.string.text = "<H3>Modifiers</H3>";
yylval.string.len = -1;
return STRING;
}
[\\]ccImplementation/{noletter} {
skipspaces();
yylval.string.text = "<H3>Implementation</H3>";
@ -745,6 +770,25 @@ bfblockintro [\{][\\](bf)
yylval.string.len = -1;
return STRING;
}
[\\]begin[\{]ccAdvanced[\}] {
skipspaces();
yylval.string.text = "<br><img border=0 src=\""
"./cc_advanced_begin.gif\" alt=\"begin of advanced "
"section\"><br>";
yylval.string.len = -1;
return STRING;
}
[\\]end[\{]ccAdvanced[\}] {
skipspaces();
yylval.string.text = "<br><img border=0 src=\""
"./cc_advanced_end.gif\" alt=\"end of advanced "
"section\"><br>";
yylval.string.len = -1;
return STRING;
}
[\\]ccInclude/{noletter} {
return INCLUDE;
}
[\\]ccHeading/{noletter} {
return HEADING;
}
@ -767,7 +811,7 @@ bfblockintro [\{][\\](bf)
skipspaces();
return GOBBLETWOPARAMS;
}
[\\]ccSetThreeColumns/{noletter} {
[\\]cc((SetThreeColumns)|(Three))/{noletter} {
skipspaces();
return GOBBLETHREEPARAMS;
}
@ -775,11 +819,11 @@ bfblockintro [\{][\\](bf)
skipspaces();
return GOBBLEONEPARAM;
}
[\\]ccSetTwoColumns/{noletter} {
[\\]cc((SetTwoColumns)|(Two))/{noletter} {
skipspaces();
return GOBBLETWOPARAMS;
}
[\\]ccPropagateThreeToTwoColumns/{noletter} {
[\\]cc((PropagateThreeToTwoColumns)|(ThreeToTwo))/{noletter} {
yylval.string.text = " ";
yylval.string.len = 0;
return SPACE;
@ -815,7 +859,7 @@ bfblockintro [\{][\\](bf)
[\\]ccChapterSubTitle{w}/{noletter} {
return CHAPTERSUBTITLE;
}
[\\]cc((GlueDeclarations)|(ParDims))/{noletter} {
[\\]cc((Glue((Begin)|(End)|(Declarations))?)|(ParDims))/{noletter} {
yylval.string.text = " ";
yylval.string.len = 0;
return SPACE;

View File

@ -143,6 +143,7 @@ extern bool mbox_within_math;
%token CCSTYLE
%token CCSECTION
%token CCSUBSECTION
%token INCLUDE
%token HEADING
%token COMMENTHEADING
%token CHAPTERAUTHOR
@ -250,6 +251,12 @@ stmt: string { handleBuffer( * $1);
handleString( "</VAR>");
delete $3;
}
| INCLUDE '{' comment_sequence '}' {
handleString( "<EM>#include &lt;");
handleText( * $3);
handleString( "&gt;</EM>");
delete $3;
}
| HEADING '{' comment_sequence '}' {
handleString( "<H3>");
handleText( * $3);
@ -789,6 +796,13 @@ compound_comment: '{' full_comment_sequence '}' {
$$->append( *new TextToken( ")</H2>"));
$$->append( *new TextToken( "\n", 1, true));
}
| INCLUDE '{' comment_sequence '}' {
$$ = $3;
$$->cons( *new TextToken( "&lt;"));
$$->cons( *new TextToken( " ", 1, true));
$$->cons( *new TextToken( "<EM>#include"));
$$->append( *new TextToken( "&gt;</EM>"));
}
| HEADING '{' comment_sequence '}' {
$$ = $3;
$$->cons( *new TextToken( " ", 1, true));