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 INSTALL_DIR = $(PUBLIC)/$(SYSTEM)/bin # local settings on my machine
# Include path (needs probably no adaption) # 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. # 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 # 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) # The C++ compiler options (optimization, debugging, warnings, includes)
#CPPOPT = -g -Wall $(INCL) # Gnu #CPPOPT = -g -Wall $(INCL) # Gnu
CPPOPT = -g +w -woff 3666 $(INCL) # Sgi CPPOPT = -O -g3 +w -woff 3666 $(INCL) # Sgi
#CPPOPT = -g +w $(INCL) # Sun #CPPOPT = -O -g +w $(INCL) # Sun
# A C compiler: # A C compiler:
# Gnu gcc 2.6.3 (or above) # 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 flex and bison output might produce a lot of warnings with
# the C++ compiler (Sgi). Special options switch these messages off. # the C++ compiler (Sgi). Special options switch these messages off.
#XCOMPILE = $(COMPILE) # Gnu #XCOMPILE = $(COMPILE) # Gnu
XCOMPILE = $(COMPILE) -woff 3203 # SGI XCOMPILE = $(COMPILE) -woff 3203 -woff 3666 # SGI
#XCOMPILE = $(COMPILE) # Sun #XCOMPILE = $(COMPILE) # Sun
# Default targets to make: # 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 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 # 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 # all the files for the HTML config directory
HTML_CONFIG_FILES = html_config_files/* HTML_CONFIG_FILES = html_config_files/*

View File

@ -41,10 +41,10 @@ class TextToken;
// Substitute old style malloc, realloc, strdup ... // Substitute old style malloc, realloc, strdup ...
// ================================================ // ================================================
template < class T, class I> 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> 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( old);
ADT_Assert( strlen( old) == size_t(old_size - 1)); ADT_Assert( strlen( old) == size_t(old_size - 1));
ADT_Assert( new_size > old_size); ADT_Assert( new_size > old_size);

View File

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

View File

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

View File

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

View File

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

View File

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