Rename Zeexygen to Zeekygen

This commit is contained in:
Jon Siwek 2019-05-02 21:39:01 -07:00
parent f2f06d66c0
commit 84ca12fdb4
78 changed files with 444 additions and 440 deletions

View file

@ -1,4 +1,8 @@
2.6-262 | 2019-05-02 21:39:01 -0700
* Rename Zeexygen to Zeekygen (Jon Siwek, Corelight)
2.6-261 | 2019-05-02 20:49:23 -0700 2.6-261 | 2019-05-02 20:49:23 -0700
* Remove previously deprecated policy/protocols/smb/__load__ (Jon Siwek, Corelight) * Remove previously deprecated policy/protocols/smb/__load__ (Jon Siwek, Corelight)

4
NEWS
View file

@ -180,10 +180,10 @@ Changed Functionality
and aren't counted as true gaps. and aren't counted as true gaps.
- The Broxygen component, which is used to generate our Doxygen-like - The Broxygen component, which is used to generate our Doxygen-like
scripting API documentation has been renamed to Zeexygen. This likely has scripting API documentation has been renamed to Zeekygen. This likely has
no breaking or visible changes for most users, except in the case one no breaking or visible changes for most users, except in the case one
used it to generate their own documentation via the ``--broxygen`` flag, used it to generate their own documentation via the ``--broxygen`` flag,
which is now named ``--zeexygen``. Besides that, the various documentation which is now named ``--zeekygen``. Besides that, the various documentation
in scripts has also been updated to replace Sphinx cross-referencing roles in scripts has also been updated to replace Sphinx cross-referencing roles
and directives like ":bro:see:" with ":zeek:zee:". and directives like ":bro:see:" with ":zeek:zee:".

View file

@ -1 +1 @@
2.6-261 2.6-262

2
doc

@ -1 +1 @@
Subproject commit f897256ad219b644b99a14873473e0276cf430f6 Subproject commit 8aa690e20d19f79805d7f680e454e4ea10231add

View file

@ -99,7 +99,7 @@ Record process status in file
\fB\-W\fR,\ \-\-watchdog \fB\-W\fR,\ \-\-watchdog
activate watchdog timer activate watchdog timer
.TP .TP
\fB\-X\fR,\ \-\-zeexygen <cfgfile> \fB\-X\fR,\ \-\-zeekygen <cfgfile>
generate documentation based on config file generate documentation based on config file
.TP .TP
\fB\-\-pseudo\-realtime[=\fR<speedup>] \fB\-\-pseudo\-realtime[=\fR<speedup>]
@ -150,7 +150,7 @@ ASCII log file extension
Output file for script execution statistics Output file for script execution statistics
.TP .TP
.B BRO_DISABLE_BROXYGEN .B BRO_DISABLE_BROXYGEN
Disable Zeexygen (Broxygen) documentation support Disable Zeekygen (Broxygen) documentation support
.SH AUTHOR .SH AUTHOR
.B bro .B bro
was written by The Bro Project <info@bro.org>. was written by The Bro Project <info@bro.org>.

View file

@ -1,4 +1,4 @@
This package is loaded during the process which automatically generates This package is loaded during the process which automatically generates
reference documentation for all Zeek scripts (i.e. "Zeexygen"). Its only reference documentation for all Zeek scripts (i.e. "Zeekygen"). Its only
purpose is to provide an easy way to load all known Zeek scripts plus any purpose is to provide an easy way to load all known Zeek scripts plus any
extra scripts needed or used by the documentation process. extra scripts needed or used by the documentation process.

View file

@ -1,4 +1,4 @@
##! This is an example script that demonstrates Zeexygen-style ##! This is an example script that demonstrates Zeekygen-style
##! documentation. It generally will make most sense when viewing ##! documentation. It generally will make most sense when viewing
##! the script's raw source code and comparing to the HTML-rendered ##! the script's raw source code and comparing to the HTML-rendered
##! version. ##! version.
@ -13,12 +13,12 @@
##! There's also a custom role to reference any identifier node in ##! There's also a custom role to reference any identifier node in
##! the Zeek Sphinx domain that's good for "see alsos", e.g. ##! the Zeek Sphinx domain that's good for "see alsos", e.g.
##! ##!
##! See also: :zeek:see:`ZeexygenExample::a_var`, ##! See also: :zeek:see:`ZeekygenExample::a_var`,
##! :zeek:see:`ZeexygenExample::ONE`, :zeek:see:`SSH::Info` ##! :zeek:see:`ZeekygenExample::ONE`, :zeek:see:`SSH::Info`
##! ##!
##! And a custom directive does the equivalent references: ##! And a custom directive does the equivalent references:
##! ##!
##! .. zeek:see:: ZeexygenExample::a_var ZeexygenExample::ONE SSH::Info ##! .. zeek:see:: ZeekygenExample::a_var ZeekygenExample::ONE SSH::Info
# Comments that use a single pound sign (#) are not significant to # Comments that use a single pound sign (#) are not significant to
# a script's auto-generated documentation, but ones that use a # a script's auto-generated documentation, but ones that use a
@ -30,7 +30,7 @@
# variable declarations to associate with the last-declared identifier. # variable declarations to associate with the last-declared identifier.
# #
# Generally, the auto-doc comments (##) are associated with the # Generally, the auto-doc comments (##) are associated with the
# next declaration/identifier found in the script, but Zeexygen # next declaration/identifier found in the script, but Zeekygen
# will track/render identifiers regardless of whether they have any # will track/render identifiers regardless of whether they have any
# of these special comments associated with them. # of these special comments associated with them.
# #
@ -49,19 +49,19 @@
# "module" statements are self-documenting, don't use any ``##`` style # "module" statements are self-documenting, don't use any ``##`` style
# comments with them. # comments with them.
module ZeexygenExample; module ZeekygenExample;
# Redefinitions of "Notice::Type" are self-documenting, but # Redefinitions of "Notice::Type" are self-documenting, but
# more information can be supplied in two different ways. # more information can be supplied in two different ways.
redef enum Notice::Type += { redef enum Notice::Type += {
## Any number of this type of comment ## Any number of this type of comment
## will document "Zeexygen_One". ## will document "Zeekygen_One".
Zeexygen_One, Zeekygen_One,
Zeexygen_Two, ##< Any number of this type of comment Zeekygen_Two, ##< Any number of this type of comment
##< will document "ZEEXYGEN_TWO". ##< will document "ZEEKYGEN_TWO".
Zeexygen_Three, Zeekygen_Three,
## Omitting comments is fine, and so is mixing ``##`` and ``##<``, but ## Omitting comments is fine, and so is mixing ``##`` and ``##<``, but
Zeexygen_Four, ##< it's probably best to use only one style consistently. Zeekygen_Four, ##< it's probably best to use only one style consistently.
}; };
# All redefs are automatically tracked. Comments of the "##" form can be use # All redefs are automatically tracked. Comments of the "##" form can be use
@ -110,7 +110,7 @@ export {
type ComplexRecord: record { type ComplexRecord: record {
field1: count; ##< Counts something. field1: count; ##< Counts something.
field2: bool; ##< Toggles something. field2: bool; ##< Toggles something.
field3: SimpleRecord; ##< Zeexygen automatically tracks types field3: SimpleRecord; ##< Zeekygen automatically tracks types
##< and cross-references are automatically ##< and cross-references are automatically
##< inserted in to generated docs. ##< inserted in to generated docs.
msg: string &default="blah"; ##< Attributes are self-documenting. msg: string &default="blah"; ##< Attributes are self-documenting.
@ -163,9 +163,9 @@ export {
## Summarize "an_event" here. ## Summarize "an_event" here.
## Give more details about "an_event" here. ## Give more details about "an_event" here.
## ##
## ZeexygenExample::a_function should not be confused as a parameter ## ZeekygenExample::a_function should not be confused as a parameter
## in the generated docs, but it also doesn't generate a cross-reference ## in the generated docs, but it also doesn't generate a cross-reference
## link. Use the see role instead: :zeek:see:`ZeexygenExample::a_function`. ## link. Use the see role instead: :zeek:see:`ZeekygenExample::a_function`.
## ##
## name: Describe the argument here. ## name: Describe the argument here.
global an_event: event(name: string); global an_event: event(name: string);

View file

@ -143,7 +143,7 @@ set(bro_PLUGIN_LIBS CACHE INTERNAL "plugin libraries" FORCE)
add_subdirectory(analyzer) add_subdirectory(analyzer)
add_subdirectory(broker) add_subdirectory(broker)
add_subdirectory(zeexygen) add_subdirectory(zeekygen)
add_subdirectory(file_analysis) add_subdirectory(file_analysis)
add_subdirectory(input) add_subdirectory(input)
add_subdirectory(iosource) add_subdirectory(iosource)

View file

@ -18,7 +18,7 @@ DebugLogger::Stream DebugLogger::streams[NUM_DBGS] = {
{ "dpd", 0, false }, { "tm", 0, false }, { "dpd", 0, false }, { "tm", 0, false },
{ "logging", 0, false }, {"input", 0, false }, { "logging", 0, false }, {"input", 0, false },
{ "threading", 0, false }, { "file_analysis", 0, false }, { "threading", 0, false }, { "file_analysis", 0, false },
{ "plugins", 0, false }, { "zeexygen", 0, false }, { "plugins", 0, false }, { "zeekygen", 0, false },
{ "pktio", 0, false }, { "broker", 0, false }, { "pktio", 0, false }, { "broker", 0, false },
{ "scripts", 0, false} { "scripts", 0, false}
}; };

View file

@ -30,7 +30,7 @@ enum DebugStream {
DBG_THREADING, // Threading system DBG_THREADING, // Threading system
DBG_FILE_ANALYSIS, // File analysis DBG_FILE_ANALYSIS, // File analysis
DBG_PLUGINS, // Plugin system DBG_PLUGINS, // Plugin system
DBG_ZEEXYGEN, // Zeexygen DBG_ZEEKYGEN, // Zeekygen
DBG_PKTIO, // Packet sources and dumpers. DBG_PKTIO, // Packet sources and dumpers.
DBG_BROKER, // Broker communication DBG_BROKER, // Broker communication
DBG_SCRIPTS, // Script initialization DBG_SCRIPTS, // Script initialization

View file

@ -14,7 +14,7 @@
#include "PersistenceSerializer.h" #include "PersistenceSerializer.h"
#include "Scope.h" #include "Scope.h"
#include "Traverse.h" #include "Traverse.h"
#include "zeexygen/Manager.h" #include "zeekygen/Manager.h"
ID::ID(const char* arg_name, IDScope arg_scope, bool arg_is_export) ID::ID(const char* arg_name, IDScope arg_scope, bool arg_is_export)
{ {
@ -680,7 +680,7 @@ void ID::DescribeReSTShort(ODesc* d) const
if ( is_type ) if ( is_type )
d->Add(type_name(t)); d->Add(type_name(t));
else else
d->Add(zeexygen_mgr->GetEnumTypeName(Name()).c_str()); d->Add(zeekygen_mgr->GetEnumTypeName(Name()).c_str());
break; break;
default: default:

View file

@ -8,8 +8,8 @@
#include "Scope.h" #include "Scope.h"
#include "Serializer.h" #include "Serializer.h"
#include "Reporter.h" #include "Reporter.h"
#include "zeexygen/Manager.h" #include "zeekygen/Manager.h"
#include "zeexygen/utils.h" #include "zeekygen/utils.h"
#include <string> #include <string>
#include <list> #include <list>
@ -1197,8 +1197,8 @@ void RecordType::DescribeFieldsReST(ODesc* d, bool func_args) const
if ( func_args ) if ( func_args )
continue; continue;
using zeexygen::IdentifierInfo; using zeekygen::IdentifierInfo;
IdentifierInfo* doc = zeexygen_mgr->GetIdentifierInfo(GetName()); IdentifierInfo* doc = zeekygen_mgr->GetIdentifierInfo(GetName());
if ( ! doc ) if ( ! doc )
{ {
@ -1217,7 +1217,7 @@ void RecordType::DescribeFieldsReST(ODesc* d, bool func_args) const
field_from_script != type_from_script ) field_from_script != type_from_script )
{ {
d->PushIndent(); d->PushIndent();
d->Add(zeexygen::redef_indication(field_from_script).c_str()); d->Add(zeekygen::redef_indication(field_from_script).c_str());
d->PopIndent(); d->PopIndent();
} }
@ -1237,7 +1237,7 @@ void RecordType::DescribeFieldsReST(ODesc* d, bool func_args) const
{ {
string s = cmnts[i]; string s = cmnts[i];
if ( zeexygen::prettify_params(s) ) if ( zeekygen::prettify_params(s) )
d->NL(); d->NL();
d->Add(s.c_str()); d->Add(s.c_str());
@ -1505,7 +1505,7 @@ void EnumType::CheckAndAddName(const string& module_name, const char* name,
if ( deprecated ) if ( deprecated )
id->MakeDeprecated(); id->MakeDeprecated();
zeexygen_mgr->Identifier(id); zeekygen_mgr->Identifier(id);
} }
else else
{ {
@ -1618,8 +1618,8 @@ void EnumType::DescribeReST(ODesc* d, bool roles_only) const
else else
d->Add(fmt(".. zeek:enum:: %s %s", it->second.c_str(), GetName().c_str())); d->Add(fmt(".. zeek:enum:: %s %s", it->second.c_str(), GetName().c_str()));
using zeexygen::IdentifierInfo; using zeekygen::IdentifierInfo;
IdentifierInfo* doc = zeexygen_mgr->GetIdentifierInfo(it->second); IdentifierInfo* doc = zeekygen_mgr->GetIdentifierInfo(it->second);
if ( ! doc ) if ( ! doc )
{ {
@ -1634,7 +1634,7 @@ void EnumType::DescribeReST(ODesc* d, bool roles_only) const
if ( doc->GetDeclaringScript() ) if ( doc->GetDeclaringScript() )
enum_from_script = doc->GetDeclaringScript()->Name(); enum_from_script = doc->GetDeclaringScript()->Name();
IdentifierInfo* type_doc = zeexygen_mgr->GetIdentifierInfo(GetName()); IdentifierInfo* type_doc = zeekygen_mgr->GetIdentifierInfo(GetName());
if ( type_doc && type_doc->GetDeclaringScript() ) if ( type_doc && type_doc->GetDeclaringScript() )
type_from_script = type_doc->GetDeclaringScript()->Name(); type_from_script = type_doc->GetDeclaringScript()->Name();
@ -1644,7 +1644,7 @@ void EnumType::DescribeReST(ODesc* d, bool roles_only) const
{ {
d->NL(); d->NL();
d->PushIndent(); d->PushIndent();
d->Add(zeexygen::redef_indication(enum_from_script).c_str()); d->Add(zeekygen::redef_indication(enum_from_script).c_str());
d->PopIndent(); d->PopIndent();
} }

View file

@ -55,7 +55,7 @@ extern "C" {
#include "analyzer/Tag.h" #include "analyzer/Tag.h"
#include "plugin/Manager.h" #include "plugin/Manager.h"
#include "file_analysis/Manager.h" #include "file_analysis/Manager.h"
#include "zeexygen/Manager.h" #include "zeekygen/Manager.h"
#include "iosource/Manager.h" #include "iosource/Manager.h"
#include "broker/Manager.h" #include "broker/Manager.h"
@ -91,7 +91,7 @@ input::Manager* input_mgr = 0;
plugin::Manager* plugin_mgr = 0; plugin::Manager* plugin_mgr = 0;
analyzer::Manager* analyzer_mgr = 0; analyzer::Manager* analyzer_mgr = 0;
file_analysis::Manager* file_mgr = 0; file_analysis::Manager* file_mgr = 0;
zeexygen::Manager* zeexygen_mgr = 0; zeekygen::Manager* zeekygen_mgr = 0;
iosource::Manager* iosource_mgr = 0; iosource::Manager* iosource_mgr = 0;
bro_broker::Manager* broker_mgr = 0; bro_broker::Manager* broker_mgr = 0;
@ -193,7 +193,7 @@ void usage(int code = 1)
fprintf(stderr, " -T|--re-level <level> | set 'RE_level' for rules\n"); fprintf(stderr, " -T|--re-level <level> | set 'RE_level' for rules\n");
fprintf(stderr, " -U|--status-file <file> | Record process status in file\n"); fprintf(stderr, " -U|--status-file <file> | Record process status in file\n");
fprintf(stderr, " -W|--watchdog | activate watchdog timer\n"); fprintf(stderr, " -W|--watchdog | activate watchdog timer\n");
fprintf(stderr, " -X|--zeexygen <cfgfile> | generate documentation based on config file\n"); fprintf(stderr, " -X|--zeekygen <cfgfile> | generate documentation based on config file\n");
#ifdef USE_PERFTOOLS_DEBUG #ifdef USE_PERFTOOLS_DEBUG
fprintf(stderr, " -m|--mem-leaks | show leaks [perftools]\n"); fprintf(stderr, " -m|--mem-leaks | show leaks [perftools]\n");
@ -213,7 +213,7 @@ void usage(int code = 1)
fprintf(stderr, " $BRO_SEED_FILE | file to load seeds from (not set)\n"); fprintf(stderr, " $BRO_SEED_FILE | file to load seeds from (not set)\n");
fprintf(stderr, " $BRO_LOG_SUFFIX | ASCII log file extension (.%s)\n", logging::writer::Ascii::LogExt().c_str()); fprintf(stderr, " $BRO_LOG_SUFFIX | ASCII log file extension (.%s)\n", logging::writer::Ascii::LogExt().c_str());
fprintf(stderr, " $BRO_PROFILER_FILE | Output file for script execution statistics (not set)\n"); fprintf(stderr, " $BRO_PROFILER_FILE | Output file for script execution statistics (not set)\n");
fprintf(stderr, " $BRO_DISABLE_BROXYGEN | Disable Zeexygen documentation support (%s)\n", getenv("BRO_DISABLE_BROXYGEN") ? "set" : "not set"); fprintf(stderr, " $BRO_DISABLE_BROXYGEN | Disable Zeekygen documentation support (%s)\n", getenv("BRO_DISABLE_BROXYGEN") ? "set" : "not set");
fprintf(stderr, " $ZEEK_DNS_RESOLVER | IPv4/IPv6 address of DNS resolver to use (%s)\n", getenv("ZEEK_DNS_RESOLVER") ? getenv("ZEEK_DNS_RESOLVER") : "not set, will use first IPv4 address from /etc/resolv.conf"); fprintf(stderr, " $ZEEK_DNS_RESOLVER | IPv4/IPv6 address of DNS resolver to use (%s)\n", getenv("ZEEK_DNS_RESOLVER") ? getenv("ZEEK_DNS_RESOLVER") : "not set, will use first IPv4 address from /etc/resolv.conf");
fprintf(stderr, "\n"); fprintf(stderr, "\n");
@ -369,7 +369,7 @@ void terminate_bro()
plugin_mgr->FinishPlugins(); plugin_mgr->FinishPlugins();
delete zeexygen_mgr; delete zeekygen_mgr;
delete timer_mgr; delete timer_mgr;
delete persistence_serializer; delete persistence_serializer;
delete event_serializer; delete event_serializer;
@ -469,7 +469,7 @@ int main(int argc, char** argv)
{"filter", required_argument, 0, 'f'}, {"filter", required_argument, 0, 'f'},
{"help", no_argument, 0, 'h'}, {"help", no_argument, 0, 'h'},
{"iface", required_argument, 0, 'i'}, {"iface", required_argument, 0, 'i'},
{"zeexygen", required_argument, 0, 'X'}, {"zeekygen", required_argument, 0, 'X'},
{"prefix", required_argument, 0, 'p'}, {"prefix", required_argument, 0, 'p'},
{"readfile", required_argument, 0, 'r'}, {"readfile", required_argument, 0, 'r'},
{"rulefile", required_argument, 0, 's'}, {"rulefile", required_argument, 0, 's'},
@ -521,7 +521,7 @@ int main(int argc, char** argv)
if ( p ) if ( p )
add_to_name_list(p, ':', prefixes); add_to_name_list(p, ':', prefixes);
string zeexygen_config; string zeekygen_config;
#ifdef USE_IDMEF #ifdef USE_IDMEF
string libidmef_dtd_path = "idmef-message.dtd"; string libidmef_dtd_path = "idmef-message.dtd";
@ -674,7 +674,7 @@ int main(int argc, char** argv)
break; break;
case 'X': case 'X':
zeexygen_config = optarg; zeekygen_config = optarg;
break; break;
#ifdef USE_PERFTOOLS_DEBUG #ifdef USE_PERFTOOLS_DEBUG
@ -756,7 +756,7 @@ int main(int argc, char** argv)
timer_mgr = new PQ_TimerMgr("<GLOBAL>"); timer_mgr = new PQ_TimerMgr("<GLOBAL>");
// timer_mgr = new CQ_TimerMgr(); // timer_mgr = new CQ_TimerMgr();
zeexygen_mgr = new zeexygen::Manager(zeexygen_config, bro_argv[0]); zeekygen_mgr = new zeekygen::Manager(zeekygen_config, bro_argv[0]);
add_essential_input_file("base/init-bare.zeek"); add_essential_input_file("base/init-bare.zeek");
add_essential_input_file("base/init-frameworks-and-bifs.zeek"); add_essential_input_file("base/init-frameworks-and-bifs.zeek");
@ -807,7 +807,7 @@ int main(int argc, char** argv)
plugin_mgr->InitPreScript(); plugin_mgr->InitPreScript();
analyzer_mgr->InitPreScript(); analyzer_mgr->InitPreScript();
file_mgr->InitPreScript(); file_mgr->InitPreScript();
zeexygen_mgr->InitPreScript(); zeekygen_mgr->InitPreScript();
bool missing_plugin = false; bool missing_plugin = false;
@ -876,7 +876,7 @@ int main(int argc, char** argv)
exit(1); exit(1);
plugin_mgr->InitPostScript(); plugin_mgr->InitPostScript();
zeexygen_mgr->InitPostScript(); zeekygen_mgr->InitPostScript();
broker_mgr->InitPostScript(); broker_mgr->InitPostScript();
if ( print_plugins ) if ( print_plugins )
@ -906,7 +906,7 @@ int main(int argc, char** argv)
} }
reporter->InitOptions(); reporter->InitOptions();
zeexygen_mgr->GenerateDocs(); zeekygen_mgr->GenerateDocs();
if ( user_pcap_filter ) if ( user_pcap_filter )
{ {

View file

@ -88,7 +88,7 @@
#include "Scope.h" #include "Scope.h"
#include "Reporter.h" #include "Reporter.h"
#include "Brofiler.h" #include "Brofiler.h"
#include "zeexygen/Manager.h" #include "zeekygen/Manager.h"
#include <set> #include <set>
#include <string> #include <string>
@ -1039,7 +1039,7 @@ type_decl:
$$ = new TypeDecl($3, $1, $4, (in_record > 0)); $$ = new TypeDecl($3, $1, $4, (in_record > 0));
if ( in_record > 0 && cur_decl_type_id ) if ( in_record > 0 && cur_decl_type_id )
zeexygen_mgr->RecordField(cur_decl_type_id, $$, ::filename); zeekygen_mgr->RecordField(cur_decl_type_id, $$, ::filename);
} }
; ;
@ -1073,7 +1073,7 @@ decl:
TOK_MODULE TOK_ID ';' TOK_MODULE TOK_ID ';'
{ {
current_module = $2; current_module = $2;
zeexygen_mgr->ModuleUsage(::filename, current_module); zeekygen_mgr->ModuleUsage(::filename, current_module);
} }
| TOK_EXPORT '{' { is_export = true; } decl_list '}' | TOK_EXPORT '{' { is_export = true; } decl_list '}'
@ -1082,36 +1082,36 @@ decl:
| TOK_GLOBAL def_global_id opt_type init_class opt_init opt_attr ';' | TOK_GLOBAL def_global_id opt_type init_class opt_init opt_attr ';'
{ {
add_global($2, $3, $4, $5, $6, VAR_REGULAR); add_global($2, $3, $4, $5, $6, VAR_REGULAR);
zeexygen_mgr->Identifier($2); zeekygen_mgr->Identifier($2);
} }
| TOK_OPTION def_global_id opt_type init_class opt_init opt_attr ';' | TOK_OPTION def_global_id opt_type init_class opt_init opt_attr ';'
{ {
add_global($2, $3, $4, $5, $6, VAR_OPTION); add_global($2, $3, $4, $5, $6, VAR_OPTION);
zeexygen_mgr->Identifier($2); zeekygen_mgr->Identifier($2);
} }
| TOK_CONST def_global_id opt_type init_class opt_init opt_attr ';' | TOK_CONST def_global_id opt_type init_class opt_init opt_attr ';'
{ {
add_global($2, $3, $4, $5, $6, VAR_CONST); add_global($2, $3, $4, $5, $6, VAR_CONST);
zeexygen_mgr->Identifier($2); zeekygen_mgr->Identifier($2);
} }
| TOK_REDEF global_id opt_type init_class opt_init opt_attr ';' | TOK_REDEF global_id opt_type init_class opt_init opt_attr ';'
{ {
add_global($2, $3, $4, $5, $6, VAR_REDEF); add_global($2, $3, $4, $5, $6, VAR_REDEF);
zeexygen_mgr->Redef($2, ::filename); zeekygen_mgr->Redef($2, ::filename);
} }
| TOK_REDEF TOK_ENUM global_id TOK_ADD_TO '{' | TOK_REDEF TOK_ENUM global_id TOK_ADD_TO '{'
{ parser_redef_enum($3); zeexygen_mgr->Redef($3, ::filename); } { parser_redef_enum($3); zeekygen_mgr->Redef($3, ::filename); }
enum_body '}' ';' enum_body '}' ';'
{ {
// Zeexygen already grabbed new enum IDs as the type created them. // Zeekygen already grabbed new enum IDs as the type created them.
} }
| TOK_REDEF TOK_RECORD global_id | TOK_REDEF TOK_RECORD global_id
{ cur_decl_type_id = $3; zeexygen_mgr->Redef($3, ::filename); } { cur_decl_type_id = $3; zeekygen_mgr->Redef($3, ::filename); }
TOK_ADD_TO '{' TOK_ADD_TO '{'
{ ++in_record; } { ++in_record; }
type_decl_list type_decl_list
@ -1127,12 +1127,12 @@ decl:
} }
| TOK_TYPE global_id ':' | TOK_TYPE global_id ':'
{ cur_decl_type_id = $2; zeexygen_mgr->StartType($2); } { cur_decl_type_id = $2; zeekygen_mgr->StartType($2); }
type opt_attr ';' type opt_attr ';'
{ {
cur_decl_type_id = 0; cur_decl_type_id = 0;
add_type($2, $5, $6); add_type($2, $5, $6);
zeexygen_mgr->Identifier($2); zeekygen_mgr->Identifier($2);
} }
| func_hdr func_body | func_hdr func_body
@ -1167,7 +1167,7 @@ func_hdr:
begin_func($2, current_module.c_str(), begin_func($2, current_module.c_str(),
FUNC_FLAVOR_FUNCTION, 0, $3, $4); FUNC_FLAVOR_FUNCTION, 0, $3, $4);
$$ = $3; $$ = $3;
zeexygen_mgr->Identifier($2); zeekygen_mgr->Identifier($2);
} }
| TOK_EVENT event_id func_params opt_attr | TOK_EVENT event_id func_params opt_attr
{ {

View file

@ -10,7 +10,7 @@
#include "Var.h" #include "Var.h"
#include "Val.h" #include "Val.h"
#include "Reporter.h" #include "Reporter.h"
#include "zeexygen/Manager.h" #include "zeekygen/Manager.h"
namespace plugin { namespace plugin {
@ -134,7 +134,7 @@ ComponentManager<T, C>::ComponentManager(const string& arg_module, const string&
tag_enum_type = new EnumType(module + "::" + local_id); tag_enum_type = new EnumType(module + "::" + local_id);
::ID* id = install_ID(local_id.c_str(), module.c_str(), true, true); ::ID* id = install_ID(local_id.c_str(), module.c_str(), true, true);
add_type(id, tag_enum_type, 0); add_type(id, tag_enum_type, 0);
zeexygen_mgr->Identifier(id); zeekygen_mgr->Identifier(id);
} }
template <class T, class C> template <class T, class C>

View file

@ -29,7 +29,7 @@
#include "Traverse.h" #include "Traverse.h"
#include "analyzer/Analyzer.h" #include "analyzer/Analyzer.h"
#include "zeexygen/Manager.h" #include "zeekygen/Manager.h"
#include "plugin/Manager.h" #include "plugin/Manager.h"
@ -162,19 +162,19 @@ ESCSEQ (\\([^\n]|[0-7]+|x[[:xdigit:]]+))
%% %%
##!.* { ##!.* {
zeexygen_mgr->SummaryComment(::filename, yytext + 3); zeekygen_mgr->SummaryComment(::filename, yytext + 3);
} }
##<.* { ##<.* {
string hint(cur_enum_type && last_id_tok ? string hint(cur_enum_type && last_id_tok ?
make_full_var_name(current_module.c_str(), last_id_tok) : ""); make_full_var_name(current_module.c_str(), last_id_tok) : "");
zeexygen_mgr->PostComment(yytext + 3, hint); zeekygen_mgr->PostComment(yytext + 3, hint);
} }
##.* { ##.* {
if ( yytext[2] != '#' ) if ( yytext[2] != '#' )
zeexygen_mgr->PreComment(yytext + 2); zeekygen_mgr->PreComment(yytext + 2);
} }
#{OWS}@no-test.* return TOK_NO_TEST; #{OWS}@no-test.* return TOK_NO_TEST;
@ -375,7 +375,7 @@ when return TOK_WHEN;
string loader = ::filename; // load_files may change ::filename, save copy string loader = ::filename; // load_files may change ::filename, save copy
string loading = find_relative_script_file(new_file); string loading = find_relative_script_file(new_file);
(void) load_files(new_file); (void) load_files(new_file);
zeexygen_mgr->ScriptDependency(loader, loading); zeekygen_mgr->ScriptDependency(loader, loading);
} }
@load-sigs{WS}{FILE} { @load-sigs{WS}{FILE} {
@ -719,7 +719,7 @@ static int load_files(const char* orig_file)
else else
file_stack.append(new FileInfo); file_stack.append(new FileInfo);
zeexygen_mgr->Script(file_path); zeekygen_mgr->Script(file_path);
DBG_LOG(DBG_SCRIPTS, "Loading %s", file_path.c_str()); DBG_LOG(DBG_SCRIPTS, "Loading %s", file_path.c_str());

View file

@ -7,7 +7,7 @@ include_directories(BEFORE
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
) )
set(zeexygen_SRCS set(zeekygen_SRCS
Manager.cc Manager.cc
Info.h Info.h
PackageInfo.cc PackageInfo.cc
@ -19,7 +19,7 @@ set(zeexygen_SRCS
utils.cc utils.cc
) )
bif_target(zeexygen.bif) bif_target(zeekygen.bif)
bro_add_subdir_library(zeexygen ${zeexygen_SRCS}) bro_add_subdir_library(zeekygen ${zeekygen_SRCS})
add_dependencies(bro_zeexygen generate_outputs) add_dependencies(bro_zeekygen generate_outputs)

View file

@ -11,7 +11,7 @@
#include <algorithm> #include <algorithm>
#include <errno.h> #include <errno.h>
using namespace zeexygen; using namespace zeekygen;
using namespace std; using namespace std;
static TargetFactory create_target_factory() static TargetFactory create_target_factory()
@ -37,7 +37,7 @@ Config::Config(const string& arg_file, const string& delim)
ifstream f(file.c_str()); ifstream f(file.c_str());
if ( ! f.is_open() ) if ( ! f.is_open() )
reporter->FatalError("failed to open Zeexygen config file '%s': %s", reporter->FatalError("failed to open Zeekygen config file '%s': %s",
file.c_str(), strerror(errno)); file.c_str(), strerror(errno));
string line; string line;
@ -59,20 +59,20 @@ Config::Config(const string& arg_file, const string& delim)
continue; continue;
if ( tokens.size() != 3 ) if ( tokens.size() != 3 )
reporter->FatalError("malformed Zeexygen target in %s:%u: %s", reporter->FatalError("malformed Zeekygen target in %s:%u: %s",
file.c_str(), line_number, line.c_str()); file.c_str(), line_number, line.c_str());
Target* target = target_factory.Create(tokens[0], tokens[2], tokens[1]); Target* target = target_factory.Create(tokens[0], tokens[2], tokens[1]);
if ( ! target ) if ( ! target )
reporter->FatalError("unknown Zeexygen target type: %s", reporter->FatalError("unknown Zeekygen target type: %s",
tokens[0].c_str()); tokens[0].c_str());
targets.push_back(target); targets.push_back(target);
} }
if ( f.bad() ) if ( f.bad() )
reporter->InternalError("error reading Zeexygen config file '%s': %s", reporter->InternalError("error reading Zeekygen config file '%s': %s",
file.c_str(), strerror(errno)); file.c_str(), strerror(errno));
} }
@ -99,5 +99,5 @@ time_t Config::GetModificationTime() const
if ( file.empty() ) if ( file.empty() )
return 0; return 0;
return zeexygen::get_mtime(file); return zeekygen::get_mtime(file);
} }

View file

@ -1,7 +1,7 @@
// See the file "COPYING" in the main distribution directory for copyright. // See the file "COPYING" in the main distribution directory for copyright.
#ifndef ZEEXYGEN_CONFIGURATION_H #ifndef ZEEKYGEN_CONFIGURATION_H
#define ZEEXYGEN_CONFIGURATION_H #define ZEEKYGEN_CONFIGURATION_H
#include "Info.h" #include "Info.h"
#include "Target.h" #include "Target.h"
@ -9,7 +9,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
namespace zeexygen { namespace zeekygen {
/** /**
* Manages the generation of reStructuredText documents corresponding to * Manages the generation of reStructuredText documents corresponding to
@ -22,8 +22,8 @@ class Config {
public: public:
/** /**
* Read a Zeexygen configuration file, parsing all targets in it. * Read a Zeekygen configuration file, parsing all targets in it.
* @param file The file containing a list of Zeexygen targets. If it's * @param file The file containing a list of Zeekygen targets. If it's
* an empty string most methods are a no-op. * an empty string most methods are a no-op.
* @param delim The delimiter between target fields. * @param delim The delimiter between target fields.
*/ */
@ -41,7 +41,7 @@ public:
void FindDependencies(const std::vector<Info*>& infos); void FindDependencies(const std::vector<Info*>& infos);
/** /**
* Build each Zeexygen target (i.e. write out the reST documents to disk). * Build each Zeekygen target (i.e. write out the reST documents to disk).
*/ */
void GenerateDocs() const; void GenerateDocs() const;
@ -58,6 +58,6 @@ private:
TargetFactory target_factory; TargetFactory target_factory;
}; };
} // namespace zeexygen } // namespace zeekygen
#endif #endif

View file

@ -7,7 +7,7 @@
#include "Val.h" #include "Val.h"
using namespace std; using namespace std;
using namespace zeexygen; using namespace zeekygen;
IdentifierInfo::IdentifierInfo(ID* arg_id, ScriptInfo* script) IdentifierInfo::IdentifierInfo(ID* arg_id, ScriptInfo* script)
: Info(), : Info(),
@ -128,7 +128,7 @@ string IdentifierInfo::DoReStructuredText(bool roles_only) const
{ {
string s = comments[i]; string s = comments[i];
if ( zeexygen::prettify_params(s) ) if ( zeekygen::prettify_params(s) )
d.NL(); d.NL();
d.Add(s.c_str()); d.Add(s.c_str());

View file

@ -1,7 +1,7 @@
// See the file "COPYING" in the main distribution directory for copyright. // See the file "COPYING" in the main distribution directory for copyright.
#ifndef ZEEXYGEN_IDENTIFIERINFO_H #ifndef ZEEKYGEN_IDENTIFIERINFO_H
#define ZEEXYGEN_IDENTIFIERINFO_H #define ZEEKYGEN_IDENTIFIERINFO_H
#include "Info.h" #include "Info.h"
#include "ScriptInfo.h" #include "ScriptInfo.h"
@ -14,7 +14,7 @@
#include <list> #include <list>
#include <map> #include <map>
namespace zeexygen { namespace zeekygen {
class ScriptInfo; class ScriptInfo;
@ -42,7 +42,7 @@ public:
* Add a comment associated with the identifier. If the identifier is a * Add a comment associated with the identifier. If the identifier is a
* record type and it's in the middle of parsing fields, the comment is * record type and it's in the middle of parsing fields, the comment is
* associated with the last field that was parsed. * associated with the last field that was parsed.
* @param comment A string extracted from Zeexygen-style comment. * @param comment A string extracted from Zeekygen-style comment.
*/ */
void AddComment(const std::string& comment) void AddComment(const std::string& comment)
{ last_field_seen ? last_field_seen->comments.push_back(comment) { last_field_seen ? last_field_seen->comments.push_back(comment)
@ -102,13 +102,13 @@ public:
std::string GetDeclaringScriptForField(const std::string& field) const; std::string GetDeclaringScriptForField(const std::string& field) const;
/** /**
* @return All Zeexygen comments associated with the identifier. * @return All Zeekygen comments associated with the identifier.
*/ */
std::vector<std::string> GetComments() const; std::vector<std::string> GetComments() const;
/** /**
* @param field A record field name. * @param field A record field name.
* @return All Zeexygen comments associated with the record field. * @return All Zeekygen comments associated with the record field.
*/ */
std::vector<std::string> GetFieldComments(const std::string& field) const; std::vector<std::string> GetFieldComments(const std::string& field) const;
@ -118,7 +118,7 @@ public:
struct Redefinition { struct Redefinition {
std::string from_script; /**< Name of script doing the redef. */ std::string from_script; /**< Name of script doing the redef. */
std::string new_val_desc; /**< Description of new value bound to ID. */ std::string new_val_desc; /**< Description of new value bound to ID. */
std::vector<std::string> comments; /**< Zeexygen comments on redef. */ std::vector<std::string> comments; /**< Zeekygen comments on redef. */
}; };
/** /**
@ -159,6 +159,6 @@ private:
ScriptInfo* declaring_script; ScriptInfo* declaring_script;
}; };
} // namespace zeexygen } // namespace zeekygen
#endif #endif

View file

@ -1,15 +1,15 @@
// See the file "COPYING" in the main distribution directory for copyright. // See the file "COPYING" in the main distribution directory for copyright.
#ifndef ZEEXYGEN_INFO_H #ifndef ZEEKYGEN_INFO_H
#define ZEEXYGEN_INFO_H #define ZEEKYGEN_INFO_H
#include <string> #include <string>
#include <ctime> #include <ctime>
namespace zeexygen { namespace zeekygen {
/** /**
* Abstract base class for any thing that Zeexygen can document. * Abstract base class for any thing that Zeekygen can document.
*/ */
class Info { class Info {
@ -68,6 +68,6 @@ private:
{ } { }
}; };
} // namespace zeexygen } // namespace zeekygen
#endif #endif

View file

@ -7,7 +7,7 @@
#include <utility> #include <utility>
#include <cstdlib> #include <cstdlib>
using namespace zeexygen; using namespace zeekygen;
using namespace std; using namespace std;
static void DbgAndWarn(const char* msg) static void DbgAndWarn(const char* msg)
@ -19,7 +19,7 @@ static void DbgAndWarn(const char* msg)
return; return;
reporter->Warning("%s", msg); reporter->Warning("%s", msg);
DBG_LOG(DBG_ZEEXYGEN, "%s", msg); DBG_LOG(DBG_ZEEKYGEN, "%s", msg);
} }
static void WarnMissingScript(const char* type, const ID* id, static void WarnMissingScript(const char* type, const ID* id,
@ -28,7 +28,7 @@ static void WarnMissingScript(const char* type, const ID* id,
if ( script == "<command line>" ) if ( script == "<command line>" )
return; return;
DbgAndWarn(fmt("Can't generate Zeexygen doumentation for %s %s, " DbgAndWarn(fmt("Can't generate Zeekygen doumentation for %s %s, "
"lookup of %s failed", "lookup of %s failed",
type, id->Name(), script.c_str())); type, id->Name(), script.c_str()));
} }
@ -83,7 +83,7 @@ Manager::Manager(const string& arg_config, const string& bro_command)
// a PATH component that starts with a tilde (such as "~/bin"). A simple // a PATH component that starts with a tilde (such as "~/bin"). A simple
// workaround is to just run bro with a relative or absolute path. // workaround is to just run bro with a relative or absolute path.
if ( path_to_bro.empty() || stat(path_to_bro.c_str(), &s) < 0 ) if ( path_to_bro.empty() || stat(path_to_bro.c_str(), &s) < 0 )
reporter->InternalError("Zeexygen can't get mtime of bro binary %s (try again by specifying the absolute or relative path to Bro): %s", reporter->InternalError("Zeekygen can't get mtime of bro binary %s (try again by specifying the absolute or relative path to Bro): %s",
path_to_bro.c_str(), strerror(errno)); path_to_bro.c_str(), strerror(errno));
bro_mtime = s.st_mtime; bro_mtime = s.st_mtime;
@ -129,7 +129,7 @@ void Manager::Script(const string& path)
if ( scripts.GetInfo(name) ) if ( scripts.GetInfo(name) )
{ {
DbgAndWarn(fmt("Duplicate Zeexygen script documentation: %s", DbgAndWarn(fmt("Duplicate Zeekygen script documentation: %s",
name.c_str())); name.c_str()));
return; return;
} }
@ -137,7 +137,7 @@ void Manager::Script(const string& path)
ScriptInfo* info = new ScriptInfo(name, path); ScriptInfo* info = new ScriptInfo(name, path);
scripts.map[name] = info; scripts.map[name] = info;
all_info.push_back(info); all_info.push_back(info);
DBG_LOG(DBG_ZEEXYGEN, "Made ScriptInfo %s", name.c_str()); DBG_LOG(DBG_ZEEKYGEN, "Made ScriptInfo %s", name.c_str());
if ( ! info->IsPkgLoader() ) if ( ! info->IsPkgLoader() )
return; return;
@ -146,7 +146,7 @@ void Manager::Script(const string& path)
if ( packages.GetInfo(name) ) if ( packages.GetInfo(name) )
{ {
DbgAndWarn(fmt("Duplicate Zeexygen package documentation: %s", DbgAndWarn(fmt("Duplicate Zeekygen package documentation: %s",
name.c_str())); name.c_str()));
return; return;
} }
@ -154,7 +154,7 @@ void Manager::Script(const string& path)
PackageInfo* pkginfo = new PackageInfo(name); PackageInfo* pkginfo = new PackageInfo(name);
packages.map[name] = pkginfo; packages.map[name] = pkginfo;
all_info.push_back(pkginfo); all_info.push_back(pkginfo);
DBG_LOG(DBG_ZEEXYGEN, "Made PackageInfo %s", name.c_str()); DBG_LOG(DBG_ZEEKYGEN, "Made PackageInfo %s", name.c_str());
} }
void Manager::ScriptDependency(const string& path, const string& dep) void Manager::ScriptDependency(const string& path, const string& dep)
@ -164,7 +164,7 @@ void Manager::ScriptDependency(const string& path, const string& dep)
if ( dep.empty() ) if ( dep.empty() )
{ {
DbgAndWarn(fmt("Empty Zeexygen script doc dependency: %s", DbgAndWarn(fmt("Empty Zeekygen script doc dependency: %s",
path.c_str())); path.c_str()));
return; return;
} }
@ -175,17 +175,17 @@ void Manager::ScriptDependency(const string& path, const string& dep)
if ( ! script_info ) if ( ! script_info )
{ {
DbgAndWarn(fmt("Failed to add Zeexygen script doc dependency %s " DbgAndWarn(fmt("Failed to add Zeekygen script doc dependency %s "
"for %s", depname.c_str(), name.c_str())); "for %s", depname.c_str(), name.c_str()));
return; return;
} }
script_info->AddDependency(depname); script_info->AddDependency(depname);
DBG_LOG(DBG_ZEEXYGEN, "Added script dependency %s for %s", DBG_LOG(DBG_ZEEKYGEN, "Added script dependency %s for %s",
depname.c_str(), name.c_str()); depname.c_str(), name.c_str());
for ( size_t i = 0; i < comment_buffer.size(); ++i ) for ( size_t i = 0; i < comment_buffer.size(); ++i )
DbgAndWarn(fmt("Discarded extraneous Zeexygen comment: %s", DbgAndWarn(fmt("Discarded extraneous Zeekygen comment: %s",
comment_buffer[i].c_str())); comment_buffer[i].c_str()));
} }
@ -199,13 +199,13 @@ void Manager::ModuleUsage(const string& path, const string& module)
if ( ! script_info ) if ( ! script_info )
{ {
DbgAndWarn(fmt("Failed to add Zeexygen module usage %s in %s", DbgAndWarn(fmt("Failed to add Zeekygen module usage %s in %s",
module.c_str(), name.c_str())); module.c_str(), name.c_str()));
return; return;
} }
script_info->AddModule(module); script_info->AddModule(module);
DBG_LOG(DBG_ZEEXYGEN, "Added module usage %s in %s", DBG_LOG(DBG_ZEEKYGEN, "Added module usage %s in %s",
module.c_str(), name.c_str()); module.c_str(), name.c_str());
} }
@ -246,7 +246,7 @@ void Manager::StartType(ID* id)
if ( id->GetLocationInfo() == &no_location ) if ( id->GetLocationInfo() == &no_location )
{ {
DbgAndWarn(fmt("Can't generate zeexygen doumentation for %s, " DbgAndWarn(fmt("Can't generate zeekygen doumentation for %s, "
"no location available", id->Name())); "no location available", id->Name()));
return; return;
} }
@ -261,7 +261,7 @@ void Manager::StartType(ID* id)
} }
incomplete_type = CreateIdentifierInfo(id, script_info); incomplete_type = CreateIdentifierInfo(id, script_info);
DBG_LOG(DBG_ZEEXYGEN, "Made IdentifierInfo (incomplete) %s, in %s", DBG_LOG(DBG_ZEEKYGEN, "Made IdentifierInfo (incomplete) %s, in %s",
id->Name(), script.c_str()); id->Name(), script.c_str());
} }
@ -279,7 +279,7 @@ void Manager::Identifier(ID* id)
{ {
if ( incomplete_type->Name() == id->Name() ) if ( incomplete_type->Name() == id->Name() )
{ {
DBG_LOG(DBG_ZEEXYGEN, "Finished document for type %s", id->Name()); DBG_LOG(DBG_ZEEKYGEN, "Finished document for type %s", id->Name());
incomplete_type->CompletedTypeDecl(); incomplete_type->CompletedTypeDecl();
incomplete_type = 0; incomplete_type = 0;
return; return;
@ -309,7 +309,7 @@ void Manager::Identifier(ID* id)
{ {
// Internally-created identifier (e.g. file/proto analyzer enum tags). // Internally-created identifier (e.g. file/proto analyzer enum tags).
// Handled specially since they don't have a script location. // Handled specially since they don't have a script location.
DBG_LOG(DBG_ZEEXYGEN, "Made internal IdentifierInfo %s", DBG_LOG(DBG_ZEEKYGEN, "Made internal IdentifierInfo %s",
id->Name()); id->Name());
CreateIdentifierInfo(id, 0); CreateIdentifierInfo(id, 0);
return; return;
@ -325,7 +325,7 @@ void Manager::Identifier(ID* id)
} }
CreateIdentifierInfo(id, script_info); CreateIdentifierInfo(id, script_info);
DBG_LOG(DBG_ZEEXYGEN, "Made IdentifierInfo %s, in script %s", DBG_LOG(DBG_ZEEKYGEN, "Made IdentifierInfo %s, in script %s",
id->Name(), script.c_str()); id->Name(), script.c_str());
} }
@ -339,7 +339,7 @@ void Manager::RecordField(const ID* id, const TypeDecl* field,
if ( ! idd ) if ( ! idd )
{ {
DbgAndWarn(fmt("Can't generate zeexygen doumentation for " DbgAndWarn(fmt("Can't generate zeekygen doumentation for "
"record field %s, unknown record: %s", "record field %s, unknown record: %s",
field->id, id->Name())); field->id, id->Name()));
return; return;
@ -348,7 +348,7 @@ void Manager::RecordField(const ID* id, const TypeDecl* field,
string script = NormalizeScriptPath(path); string script = NormalizeScriptPath(path);
idd->AddRecordField(field, script, comment_buffer); idd->AddRecordField(field, script, comment_buffer);
comment_buffer.clear(); comment_buffer.clear();
DBG_LOG(DBG_ZEEXYGEN, "Document record field %s, identifier %s, script %s", DBG_LOG(DBG_ZEEKYGEN, "Document record field %s, identifier %s, script %s",
field->id, id->Name(), script.c_str()); field->id, id->Name(), script.c_str());
} }
@ -365,7 +365,7 @@ void Manager::Redef(const ID* id, const string& path)
if ( ! id_info ) if ( ! id_info )
{ {
DbgAndWarn(fmt("Can't generate zeexygen doumentation for " DbgAndWarn(fmt("Can't generate zeekygen doumentation for "
"redef of %s, identifier lookup failed", "redef of %s, identifier lookup failed",
id->Name())); id->Name()));
return; return;
@ -384,7 +384,7 @@ void Manager::Redef(const ID* id, const string& path)
script_info->AddRedef(id_info); script_info->AddRedef(id_info);
comment_buffer.clear(); comment_buffer.clear();
last_identifier_seen = id_info; last_identifier_seen = id_info;
DBG_LOG(DBG_ZEEXYGEN, "Added redef of %s from %s", DBG_LOG(DBG_ZEEKYGEN, "Added redef of %s from %s",
id->Name(), from_script.c_str()); id->Name(), from_script.c_str());
} }
@ -421,7 +421,7 @@ void Manager::PostComment(const string& comment, const string& id_hint)
if ( last_identifier_seen ) if ( last_identifier_seen )
last_identifier_seen->AddComment(RemoveLeadingSpace(comment)); last_identifier_seen->AddComment(RemoveLeadingSpace(comment));
else else
DbgAndWarn(fmt("Discarded unassociated Zeexygen comment %s", DbgAndWarn(fmt("Discarded unassociated Zeekygen comment %s",
comment.c_str())); comment.c_str()));
return; return;

View file

@ -1,7 +1,7 @@
// See the file "COPYING" in the main distribution directory for copyright. // See the file "COPYING" in the main distribution directory for copyright.
#ifndef ZEEXYGEN_MANAGER_H #ifndef ZEEKYGEN_MANAGER_H
#define ZEEXYGEN_MANAGER_H #define ZEEKYGEN_MANAGER_H
#include "Configuration.h" #include "Configuration.h"
#include "Info.h" #include "Info.h"
@ -21,7 +21,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <errno.h> #include <errno.h>
namespace zeexygen { namespace zeekygen {
/** /**
* Map of info objects. Just a wrapper around std::map to improve code * Map of info objects. Just a wrapper around std::map to improve code
@ -54,7 +54,7 @@ public:
/** /**
* Ctor. * Ctor.
* @param config Path to a Zeexygen config file if documentation is to be * @param config Path to a Zeekygen config file if documentation is to be
* written to disk. * written to disk.
* @param bro_command The command used to invoke the bro process. * @param bro_command The command used to invoke the bro process.
* It's used when checking for out-of-date targets. If the bro binary is * It's used when checking for out-of-date targets. If the bro binary is
@ -80,7 +80,7 @@ public:
void InitPostScript(); void InitPostScript();
/** /**
* Builds all Zeexygen targets specified by config file and write out * Builds all Zeekygen targets specified by config file and write out
* documentation to disk. * documentation to disk.
*/ */
void GenerateDocs() const; void GenerateDocs() const;
@ -140,24 +140,24 @@ public:
void Redef(const ID* id, const std::string& path); void Redef(const ID* id, const std::string& path);
/** /**
* Register Zeexygen script summary content. * Register Zeekygen script summary content.
* @param path Absolute path to a Bro script. * @param path Absolute path to a Bro script.
* @param comment Zeexygen-style summary comment ("##!") to associate with * @param comment Zeekygen-style summary comment ("##!") to associate with
* script given by \a path. * script given by \a path.
*/ */
void SummaryComment(const std::string& path, const std::string& comment); void SummaryComment(const std::string& path, const std::string& comment);
/** /**
* Register a Zeexygen comment ("##") for an upcoming identifier (i.e. * Register a Zeekygen comment ("##") for an upcoming identifier (i.e.
* this content is buffered and consumed by next identifier/field * this content is buffered and consumed by next identifier/field
* declaration. * declaration.
* @param comment Content of the Zeexygen comment. * @param comment Content of the Zeekygen comment.
*/ */
void PreComment(const std::string& comment); void PreComment(const std::string& comment);
/** /**
* Register a Zeexygen comment ("##<") for the last identifier seen. * Register a Zeekygen comment ("##<") for the last identifier seen.
* @param comment Content of the Zeexygen comment. * @param comment Content of the Zeekygen comment.
* @param identifier_hint Expected name of identifier with which to * @param identifier_hint Expected name of identifier with which to
* associate \a comment. * associate \a comment.
*/ */
@ -197,11 +197,11 @@ public:
{ return packages.GetInfo(name); } { return packages.GetInfo(name); }
/** /**
* Check if a Zeexygen target is up-to-date. * Check if a Zeekygen target is up-to-date.
* @param target_file output file of a Zeexygen target. * @param target_file output file of a Zeekygen target.
* @param dependencies all dependencies of the target. * @param dependencies all dependencies of the target.
* @return true if modification time of \a target_file is newer than * @return true if modification time of \a target_file is newer than
* modification time of Bro binary, Zeexygen config file, and all * modification time of Bro binary, Zeekygen config file, and all
* dependencies, else false. * dependencies, else false.
*/ */
template <class T> template <class T>
@ -241,7 +241,7 @@ bool Manager::IsUpToDate(const string& target_file,
// Doesn't exist. // Doesn't exist.
return false; return false;
reporter->InternalError("Zeexygen failed to stat target file '%s': %s", reporter->InternalError("Zeekygen failed to stat target file '%s': %s",
target_file.c_str(), strerror(errno)); target_file.c_str(), strerror(errno));
} }
@ -258,8 +258,8 @@ bool Manager::IsUpToDate(const string& target_file,
return true; return true;
} }
} // namespace zeexygen } // namespace zeekygen
extern zeexygen::Manager* zeexygen_mgr; extern zeekygen::Manager* zeekygen_mgr;
#endif #endif

View file

@ -9,7 +9,7 @@
#include <errno.h> #include <errno.h>
using namespace std; using namespace std;
using namespace zeexygen; using namespace zeekygen;
PackageInfo::PackageInfo(const string& arg_name) PackageInfo::PackageInfo(const string& arg_name)
: Info(), : Info(),
@ -23,7 +23,7 @@ PackageInfo::PackageInfo(const string& arg_name)
ifstream f(readme_file.c_str()); ifstream f(readme_file.c_str());
if ( ! f.is_open() ) if ( ! f.is_open() )
reporter->InternalWarning("Zeexygen failed to open '%s': %s", reporter->InternalWarning("Zeekygen failed to open '%s': %s",
readme_file.c_str(), strerror(errno)); readme_file.c_str(), strerror(errno));
string line; string line;
@ -32,7 +32,7 @@ PackageInfo::PackageInfo(const string& arg_name)
readme.push_back(line); readme.push_back(line);
if ( f.bad() ) if ( f.bad() )
reporter->InternalWarning("Zeexygen error reading '%s': %s", reporter->InternalWarning("Zeekygen error reading '%s': %s",
readme_file.c_str(), strerror(errno)); readme_file.c_str(), strerror(errno));
} }
@ -54,5 +54,5 @@ time_t PackageInfo::DoGetModificationTime() const
if ( readme_file.empty() ) if ( readme_file.empty() )
return 0; return 0;
return zeexygen::get_mtime(readme_file); return zeekygen::get_mtime(readme_file);
} }

View file

@ -1,14 +1,14 @@
// See the file "COPYING" in the main distribution directory for copyright. // See the file "COPYING" in the main distribution directory for copyright.
#ifndef ZEEXYGEN_PACKAGEINFO_H #ifndef ZEEKYGEN_PACKAGEINFO_H
#define ZEEXYGEN_PACKAGEINFO_H #define ZEEKYGEN_PACKAGEINFO_H
#include "Info.h" #include "Info.h"
#include <string> #include <string>
#include <vector> #include <vector>
namespace zeexygen { namespace zeekygen {
/** /**
* Information about a Bro script package. * Information about a Bro script package.
@ -45,6 +45,6 @@ private:
std::vector<std::string> readme; std::vector<std::string> readme;
}; };
} // namespace zeexygen } // namespace zeekygen
#endif #endif

View file

@ -5,7 +5,7 @@
#include <assert.h> #include <assert.h>
using namespace std; using namespace std;
using namespace zeexygen; using namespace zeekygen;
ReStructuredTextTable::ReStructuredTextTable(size_t arg_num_cols) ReStructuredTextTable::ReStructuredTextTable(size_t arg_num_cols)
: num_cols(arg_num_cols), rows(), longest_row_in_column() : num_cols(arg_num_cols), rows(), longest_row_in_column()

View file

@ -1,12 +1,12 @@
// See the file "COPYING" in the main distribution directory for copyright. // See the file "COPYING" in the main distribution directory for copyright.
#ifndef ZEEXYGEN_RESTTABLE_H #ifndef ZEEKYGEN_RESTTABLE_H
#define ZEEXYGEN_RESTTABLE_H #define ZEEKYGEN_RESTTABLE_H
#include <vector> #include <vector>
#include <string> #include <string>
namespace zeexygen { namespace zeekygen {
/** /**
* A reST table with arbitrary number of columns. * A reST table with arbitrary number of columns.
@ -48,6 +48,6 @@ private:
std::vector<size_t> longest_row_in_column; std::vector<size_t> longest_row_in_column;
}; };
} // namespace zeexygen } // namespace zeekygen
#endif #endif

View file

@ -10,7 +10,7 @@
#include "Desc.h" #include "Desc.h"
using namespace std; using namespace std;
using namespace zeexygen; using namespace zeekygen;
bool IdInfoComp::operator ()(const IdentifierInfo* lhs, bool IdInfoComp::operator ()(const IdentifierInfo* lhs,
const IdentifierInfo* rhs) const const IdentifierInfo* rhs) const
@ -24,11 +24,11 @@ static vector<string> summary_comment(const vector<string>& cmnts)
for ( size_t i = 0; i < cmnts.size(); ++i ) for ( size_t i = 0; i < cmnts.size(); ++i )
{ {
size_t end = zeexygen::end_of_first_sentence(cmnts[i]); size_t end = zeekygen::end_of_first_sentence(cmnts[i]);
if ( end == string::npos ) if ( end == string::npos )
{ {
if ( zeexygen::is_all_whitespace(cmnts[i]) ) if ( zeekygen::is_all_whitespace(cmnts[i]) )
break; break;
rval.push_back(cmnts[i]); rval.push_back(cmnts[i]);
@ -86,7 +86,7 @@ static string make_summary(const string& heading, char underline, char border,
add_summary_rows(d, summary_comment((*it)->GetComments()), &table); add_summary_rows(d, summary_comment((*it)->GetComments()), &table);
} }
return zeexygen::make_heading(heading, underline) + table.AsString(border) return zeekygen::make_heading(heading, underline) + table.AsString(border)
+ "\n"; + "\n";
} }
@ -115,7 +115,7 @@ static string make_redef_summary(const string& heading, char underline,
add_summary_rows(d, summary_comment(iit->comments), &table); add_summary_rows(d, summary_comment(iit->comments), &table);
} }
return zeexygen::make_heading(heading, underline) + table.AsString(border) return zeekygen::make_heading(heading, underline) + table.AsString(border)
+ "\n"; + "\n";
} }
@ -125,7 +125,7 @@ static string make_details(const string& heading, char underline,
if ( id_list.empty() ) if ( id_list.empty() )
return ""; return "";
string rval = zeexygen::make_heading(heading, underline); string rval = zeekygen::make_heading(heading, underline);
for ( id_info_list::const_iterator it = id_list.begin(); for ( id_info_list::const_iterator it = id_list.begin();
it != id_list.end(); ++it ) it != id_list.end(); ++it )
@ -143,7 +143,7 @@ static string make_redef_details(const string& heading, char underline,
if ( id_set.empty() ) if ( id_set.empty() )
return ""; return "";
string rval = zeexygen::make_heading(heading, underline); string rval = zeekygen::make_heading(heading, underline);
for ( id_info_set::const_iterator it = id_set.begin(); for ( id_info_set::const_iterator it = id_set.begin();
it != id_set.end(); ++it ) it != id_set.end(); ++it )
@ -178,13 +178,13 @@ void ScriptInfo::DoInitPostScript()
IdentifierInfo* info = it->second; IdentifierInfo* info = it->second;
ID* id = info->GetID(); ID* id = info->GetID();
if ( ! zeexygen::is_public_api(id) ) if ( ! zeekygen::is_public_api(id) )
continue; continue;
if ( id->AsType() ) if ( id->AsType() )
{ {
types.push_back(info); types.push_back(info);
DBG_LOG(DBG_ZEEXYGEN, "Filter id '%s' in '%s' as a type", DBG_LOG(DBG_ZEEKYGEN, "Filter id '%s' in '%s' as a type",
id->Name(), name.c_str()); id->Name(), name.c_str());
continue; continue;
} }
@ -193,17 +193,17 @@ void ScriptInfo::DoInitPostScript()
{ {
switch ( id->Type()->AsFuncType()->Flavor() ) { switch ( id->Type()->AsFuncType()->Flavor() ) {
case FUNC_FLAVOR_HOOK: case FUNC_FLAVOR_HOOK:
DBG_LOG(DBG_ZEEXYGEN, "Filter id '%s' in '%s' as a hook", DBG_LOG(DBG_ZEEKYGEN, "Filter id '%s' in '%s' as a hook",
id->Name(), name.c_str()); id->Name(), name.c_str());
hooks.push_back(info); hooks.push_back(info);
break; break;
case FUNC_FLAVOR_EVENT: case FUNC_FLAVOR_EVENT:
DBG_LOG(DBG_ZEEXYGEN, "Filter id '%s' in '%s' as a event", DBG_LOG(DBG_ZEEKYGEN, "Filter id '%s' in '%s' as a event",
id->Name(), name.c_str()); id->Name(), name.c_str());
events.push_back(info); events.push_back(info);
break; break;
case FUNC_FLAVOR_FUNCTION: case FUNC_FLAVOR_FUNCTION:
DBG_LOG(DBG_ZEEXYGEN, "Filter id '%s' in '%s' as a function", DBG_LOG(DBG_ZEEKYGEN, "Filter id '%s' in '%s' as a function",
id->Name(), name.c_str()); id->Name(), name.c_str());
functions.push_back(info); functions.push_back(info);
break; break;
@ -219,13 +219,13 @@ void ScriptInfo::DoInitPostScript()
{ {
if ( id->FindAttr(ATTR_REDEF) ) if ( id->FindAttr(ATTR_REDEF) )
{ {
DBG_LOG(DBG_ZEEXYGEN, "Filter id '%s' in '%s' as a redef_option", DBG_LOG(DBG_ZEEKYGEN, "Filter id '%s' in '%s' as a redef_option",
id->Name(), name.c_str()); id->Name(), name.c_str());
redef_options.push_back(info); redef_options.push_back(info);
} }
else else
{ {
DBG_LOG(DBG_ZEEXYGEN, "Filter id '%s' in '%s' as a constant", DBG_LOG(DBG_ZEEKYGEN, "Filter id '%s' in '%s' as a constant",
id->Name(), name.c_str()); id->Name(), name.c_str());
constants.push_back(info); constants.push_back(info);
} }
@ -234,7 +234,7 @@ void ScriptInfo::DoInitPostScript()
} }
else if ( id->IsOption() ) else if ( id->IsOption() )
{ {
DBG_LOG(DBG_ZEEXYGEN, "Filter id '%s' in '%s' as an runtime option", DBG_LOG(DBG_ZEEKYGEN, "Filter id '%s' in '%s' as an runtime option",
id->Name(), name.c_str()); id->Name(), name.c_str());
options.push_back(info); options.push_back(info);
@ -246,7 +246,7 @@ void ScriptInfo::DoInitPostScript()
// documentation. // documentation.
continue; continue;
DBG_LOG(DBG_ZEEXYGEN, "Filter id '%s' in '%s' as a state variable", DBG_LOG(DBG_ZEEKYGEN, "Filter id '%s' in '%s' as a state variable",
id->Name(), name.c_str()); id->Name(), name.c_str());
state_vars.push_back(info); state_vars.push_back(info);
} }
@ -275,7 +275,7 @@ string ScriptInfo::DoReStructuredText(bool roles_only) const
string rval; string rval;
rval += ":tocdepth: 3\n\n"; rval += ":tocdepth: 3\n\n";
rval += zeexygen::make_heading(name, '='); rval += zeekygen::make_heading(name, '=');
for ( string_set::const_iterator it = module_usages.begin(); for ( string_set::const_iterator it = module_usages.begin();
it != module_usages.end(); ++it ) it != module_usages.end(); ++it )
@ -329,7 +329,7 @@ string ScriptInfo::DoReStructuredText(bool roles_only) const
//rval += fmt(":Source File: :download:`/scripts/%s`\n", name.c_str()); //rval += fmt(":Source File: :download:`/scripts/%s`\n", name.c_str());
rval += "\n"; rval += "\n";
rval += zeexygen::make_heading("Summary", '~'); rval += zeekygen::make_heading("Summary", '~');
rval += make_summary("Runtime Options", '#', '=', options); rval += make_summary("Runtime Options", '#', '=', options);
rval += make_summary("Redefinable Options", '#', '=', redef_options); rval += make_summary("Redefinable Options", '#', '=', redef_options);
rval += make_summary("Constants", '#', '=', constants); rval += make_summary("Constants", '#', '=', constants);
@ -340,7 +340,7 @@ string ScriptInfo::DoReStructuredText(bool roles_only) const
rval += make_summary("Hooks", '#', '=', hooks); rval += make_summary("Hooks", '#', '=', hooks);
rval += make_summary("Functions", '#', '=', functions); rval += make_summary("Functions", '#', '=', functions);
rval += "\n"; rval += "\n";
rval += zeexygen::make_heading("Detailed Interface", '~'); rval += zeekygen::make_heading("Detailed Interface", '~');
rval += make_details("Runtime Options", '#', options); rval += make_details("Runtime Options", '#', options);
rval += make_details("Redefinable Options", '#', redef_options); rval += make_details("Redefinable Options", '#', redef_options);
rval += make_details("Constants", '#', constants); rval += make_details("Constants", '#', constants);
@ -356,25 +356,25 @@ string ScriptInfo::DoReStructuredText(bool roles_only) const
time_t ScriptInfo::DoGetModificationTime() const time_t ScriptInfo::DoGetModificationTime() const
{ {
time_t most_recent = zeexygen::get_mtime(path); time_t most_recent = zeekygen::get_mtime(path);
for ( string_set::const_iterator it = dependencies.begin(); for ( string_set::const_iterator it = dependencies.begin();
it != dependencies.end(); ++it ) it != dependencies.end(); ++it )
{ {
Info* info = zeexygen_mgr->GetScriptInfo(*it); Info* info = zeekygen_mgr->GetScriptInfo(*it);
if ( ! info ) if ( ! info )
{ {
for (const string& ext : script_extensions) for (const string& ext : script_extensions)
{ {
string pkg_name = *it + "/__load__" + ext; string pkg_name = *it + "/__load__" + ext;
info = zeexygen_mgr->GetScriptInfo(pkg_name); info = zeekygen_mgr->GetScriptInfo(pkg_name);
if ( info ) if ( info )
break; break;
} }
if ( ! info ) if ( ! info )
reporter->InternalWarning("Zeexygen failed to get mtime of %s", reporter->InternalWarning("Zeekygen failed to get mtime of %s",
it->c_str()); it->c_str());
continue; continue;
} }

View file

@ -1,7 +1,7 @@
// See the file "COPYING" in the main distribution directory for copyright. // See the file "COPYING" in the main distribution directory for copyright.
#ifndef ZEEXYGEN_SCRIPTINFO_H #ifndef ZEEKYGEN_SCRIPTINFO_H
#define ZEEXYGEN_SCRIPTINFO_H #define ZEEKYGEN_SCRIPTINFO_H
#include "Info.h" #include "Info.h"
#include "IdentifierInfo.h" #include "IdentifierInfo.h"
@ -12,7 +12,7 @@
#include <vector> #include <vector>
#include <map> #include <map>
namespace zeexygen { namespace zeekygen {
class IdentifierInfo; class IdentifierInfo;
@ -39,7 +39,7 @@ public:
ScriptInfo(const std::string& name, const std::string& path); ScriptInfo(const std::string& name, const std::string& path);
/** /**
* Associate a Zeexygen summary comment ("##!") with the script. * Associate a Zeekygen summary comment ("##!") with the script.
* @param comment String extracted from the comment. * @param comment String extracted from the comment.
*/ */
void AddComment(const std::string& comment) void AddComment(const std::string& comment)
@ -83,7 +83,7 @@ public:
{ return is_pkg_loader; } { return is_pkg_loader; }
/** /**
* @return All the scripts Zeexygen summary comments. * @return All the scripts Zeekygen summary comments.
*/ */
std::vector<std::string> GetComments() const; std::vector<std::string> GetComments() const;
@ -119,6 +119,6 @@ private:
id_info_set redefs; id_info_set redefs;
}; };
} // namespace zeexygen } // namespace zeekygen
#endif #endif

View file

@ -16,7 +16,7 @@
#include <unistd.h> #include <unistd.h>
using namespace std; using namespace std;
using namespace zeexygen; using namespace zeekygen;
static void write_plugin_section_heading(FILE* f, const plugin::Plugin* p) static void write_plugin_section_heading(FILE* f, const plugin::Plugin* p)
{ {
@ -123,13 +123,13 @@ static void write_plugin_bif_items(FILE* f, const plugin::Plugin* p,
for ( it = bifitems.begin(); it != bifitems.end(); ++it ) for ( it = bifitems.begin(); it != bifitems.end(); ++it )
{ {
zeexygen::IdentifierInfo* doc = zeexygen_mgr->GetIdentifierInfo( zeekygen::IdentifierInfo* doc = zeekygen_mgr->GetIdentifierInfo(
it->GetID()); it->GetID());
if ( doc ) if ( doc )
fprintf(f, "%s\n\n", doc->ReStructuredText().c_str()); fprintf(f, "%s\n\n", doc->ReStructuredText().c_str());
else else
reporter->InternalWarning("Zeexygen ID lookup failed: %s\n", reporter->InternalWarning("Zeekygen ID lookup failed: %s\n",
it->GetID().c_str()); it->GetID().c_str());
} }
} }
@ -138,10 +138,10 @@ static void WriteAnalyzerTagDefn(FILE* f, const string& module)
{ {
string tag_id = module + "::Tag"; string tag_id = module + "::Tag";
zeexygen::IdentifierInfo* doc = zeexygen_mgr->GetIdentifierInfo(tag_id); zeekygen::IdentifierInfo* doc = zeekygen_mgr->GetIdentifierInfo(tag_id);
if ( ! doc ) if ( ! doc )
reporter->InternalError("Zeexygen failed analyzer tag lookup: %s", reporter->InternalError("Zeekygen failed analyzer tag lookup: %s",
tag_id.c_str()); tag_id.c_str());
fprintf(f, "%s\n", doc->ReStructuredText().c_str()); fprintf(f, "%s\n", doc->ReStructuredText().c_str());
@ -177,7 +177,7 @@ static vector<T*> filter_matches(const vector<Info*>& from, Target* t)
if ( t->MatchesPattern(d) ) if ( t->MatchesPattern(d) )
{ {
DBG_LOG(DBG_ZEEXYGEN, "'%s' matched pattern for target '%s'", DBG_LOG(DBG_ZEEKYGEN, "'%s' matched pattern for target '%s'",
d->Name().c_str(), t->Name().c_str()); d->Name().c_str(), t->Name().c_str());
rval.push_back(d); rval.push_back(d);
} }
@ -194,14 +194,14 @@ TargetFile::TargetFile(const string& arg_name)
string dir = SafeDirname(name).result; string dir = SafeDirname(name).result;
if ( ! ensure_intermediate_dirs(dir.c_str()) ) if ( ! ensure_intermediate_dirs(dir.c_str()) )
reporter->FatalError("Zeexygen failed to make dir %s", reporter->FatalError("Zeekygen failed to make dir %s",
dir.c_str()); dir.c_str());
} }
f = fopen(name.c_str(), "w"); f = fopen(name.c_str(), "w");
if ( ! f ) if ( ! f )
reporter->FatalError("Zeexygen failed to open '%s' for writing: %s", reporter->FatalError("Zeekygen failed to open '%s' for writing: %s",
name.c_str(), strerror(errno)); name.c_str(), strerror(errno));
} }
@ -210,7 +210,7 @@ TargetFile::~TargetFile()
if ( f ) if ( f )
fclose(f); fclose(f);
DBG_LOG(DBG_ZEEXYGEN, "Wrote out-of-date target '%s'", name.c_str()); DBG_LOG(DBG_ZEEKYGEN, "Wrote out-of-date target '%s'", name.c_str());
} }
@ -245,11 +245,11 @@ void AnalyzerTarget::DoFindDependencies(const std::vector<Info *>& infos)
void AnalyzerTarget::DoGenerate() const void AnalyzerTarget::DoGenerate() const
{ {
if ( zeexygen_mgr->IsUpToDate(Name(), vector<Info*>()) ) if ( zeekygen_mgr->IsUpToDate(Name(), vector<Info*>()) )
return; return;
if ( Pattern() != "*" ) if ( Pattern() != "*" )
reporter->InternalWarning("Zeexygen only implements analyzer target" reporter->InternalWarning("Zeekygen only implements analyzer target"
" pattern '*'"); " pattern '*'");
TargetFile file(Name()); TargetFile file(Name());
@ -313,7 +313,7 @@ void PackageTarget::DoFindDependencies(const vector<Info*>& infos)
pkg_deps = filter_matches<PackageInfo>(infos, this); pkg_deps = filter_matches<PackageInfo>(infos, this);
if ( pkg_deps.empty() ) if ( pkg_deps.empty() )
reporter->FatalError("No match for Zeexygen target '%s' pattern '%s'", reporter->FatalError("No match for Zeekygen target '%s' pattern '%s'",
Name().c_str(), Pattern().c_str()); Name().c_str(), Pattern().c_str());
for ( size_t i = 0; i < infos.size(); ++i ) for ( size_t i = 0; i < infos.size(); ++i )
@ -329,7 +329,7 @@ void PackageTarget::DoFindDependencies(const vector<Info*>& infos)
pkg_deps[j]->Name().size())) pkg_deps[j]->Name().size()))
continue; continue;
DBG_LOG(DBG_ZEEXYGEN, "Script %s associated with package %s", DBG_LOG(DBG_ZEEKYGEN, "Script %s associated with package %s",
script->Name().c_str(), pkg_deps[j]->Name().c_str()); script->Name().c_str(), pkg_deps[j]->Name().c_str());
pkg_manifest[pkg_deps[j]].push_back(script); pkg_manifest[pkg_deps[j]].push_back(script);
script_deps.push_back(script); script_deps.push_back(script);
@ -339,8 +339,8 @@ void PackageTarget::DoFindDependencies(const vector<Info*>& infos)
void PackageTarget::DoGenerate() const void PackageTarget::DoGenerate() const
{ {
if ( zeexygen_mgr->IsUpToDate(Name(), script_deps) && if ( zeekygen_mgr->IsUpToDate(Name(), script_deps) &&
zeexygen_mgr->IsUpToDate(Name(), pkg_deps) ) zeekygen_mgr->IsUpToDate(Name(), pkg_deps) )
return; return;
TargetFile file(Name()); TargetFile file(Name());
@ -382,13 +382,13 @@ void PackageIndexTarget::DoFindDependencies(const vector<Info*>& infos)
pkg_deps = filter_matches<PackageInfo>(infos, this); pkg_deps = filter_matches<PackageInfo>(infos, this);
if ( pkg_deps.empty() ) if ( pkg_deps.empty() )
reporter->FatalError("No match for Zeexygen target '%s' pattern '%s'", reporter->FatalError("No match for Zeekygen target '%s' pattern '%s'",
Name().c_str(), Pattern().c_str()); Name().c_str(), Pattern().c_str());
} }
void PackageIndexTarget::DoGenerate() const void PackageIndexTarget::DoGenerate() const
{ {
if ( zeexygen_mgr->IsUpToDate(Name(), pkg_deps) ) if ( zeekygen_mgr->IsUpToDate(Name(), pkg_deps) )
return; return;
TargetFile file(Name()); TargetFile file(Name());
@ -402,7 +402,7 @@ void ScriptTarget::DoFindDependencies(const vector<Info*>& infos)
script_deps = filter_matches<ScriptInfo>(infos, this); script_deps = filter_matches<ScriptInfo>(infos, this);
if ( script_deps.empty() ) if ( script_deps.empty() )
reporter->FatalError("No match for Zeexygen target '%s' pattern '%s'", reporter->FatalError("No match for Zeekygen target '%s' pattern '%s'",
Name().c_str(), Pattern().c_str()); Name().c_str(), Pattern().c_str());
if ( ! IsDir() ) if ( ! IsDir() )
@ -483,7 +483,7 @@ void ScriptTarget::DoGenerate() const
vector<ScriptInfo*> dep; vector<ScriptInfo*> dep;
dep.push_back(script_deps[i]); dep.push_back(script_deps[i]);
if ( zeexygen_mgr->IsUpToDate(target_filename, dep) ) if ( zeekygen_mgr->IsUpToDate(target_filename, dep) )
continue; continue;
TargetFile file(target_filename); TargetFile file(target_filename);
@ -508,7 +508,7 @@ void ScriptTarget::DoGenerate() const
reporter->Warning("Failed to unlink %s: %s", f.c_str(), reporter->Warning("Failed to unlink %s: %s", f.c_str(),
strerror(errno)); strerror(errno));
DBG_LOG(DBG_ZEEXYGEN, "Delete stale script file %s", f.c_str()); DBG_LOG(DBG_ZEEKYGEN, "Delete stale script file %s", f.c_str());
} }
return; return;
@ -516,7 +516,7 @@ void ScriptTarget::DoGenerate() const
// Target is a single file, all matching scripts get written there. // Target is a single file, all matching scripts get written there.
if ( zeexygen_mgr->IsUpToDate(Name(), script_deps) ) if ( zeekygen_mgr->IsUpToDate(Name(), script_deps) )
return; return;
TargetFile file(Name()); TargetFile file(Name());
@ -527,7 +527,7 @@ void ScriptTarget::DoGenerate() const
void ScriptSummaryTarget::DoGenerate() const void ScriptSummaryTarget::DoGenerate() const
{ {
if ( zeexygen_mgr->IsUpToDate(Name(), script_deps) ) if ( zeekygen_mgr->IsUpToDate(Name(), script_deps) )
return; return;
TargetFile file(Name()); TargetFile file(Name());
@ -552,7 +552,7 @@ void ScriptSummaryTarget::DoGenerate() const
void ScriptIndexTarget::DoGenerate() const void ScriptIndexTarget::DoGenerate() const
{ {
if ( zeexygen_mgr->IsUpToDate(Name(), script_deps) ) if ( zeekygen_mgr->IsUpToDate(Name(), script_deps) )
return; return;
TargetFile file(Name()); TargetFile file(Name());
@ -577,13 +577,13 @@ void IdentifierTarget::DoFindDependencies(const vector<Info*>& infos)
id_deps = filter_matches<IdentifierInfo>(infos, this); id_deps = filter_matches<IdentifierInfo>(infos, this);
if ( id_deps.empty() ) if ( id_deps.empty() )
reporter->FatalError("No match for Zeexygen target '%s' pattern '%s'", reporter->FatalError("No match for Zeekygen target '%s' pattern '%s'",
Name().c_str(), Pattern().c_str()); Name().c_str(), Pattern().c_str());
} }
void IdentifierTarget::DoGenerate() const void IdentifierTarget::DoGenerate() const
{ {
if ( zeexygen_mgr->IsUpToDate(Name(), id_deps) ) if ( zeekygen_mgr->IsUpToDate(Name(), id_deps) )
return; return;
TargetFile file(Name()); TargetFile file(Name());

View file

@ -1,7 +1,7 @@
// See the file "COPYING" in the main distribution directory for copyright. // See the file "COPYING" in the main distribution directory for copyright.
#ifndef ZEEXYGEN_TARGET_H #ifndef ZEEKYGEN_TARGET_H
#define ZEEXYGEN_TARGET_H #define ZEEKYGEN_TARGET_H
#include "Info.h" #include "Info.h"
#include "PackageInfo.h" #include "PackageInfo.h"
@ -13,7 +13,7 @@
#include <vector> #include <vector>
#include <cstdio> #include <cstdio>
namespace zeexygen { namespace zeekygen {
/** /**
* Helper class to create files in arbitrary file paths and automatically * Helper class to create files in arbitrary file paths and automatically
@ -39,7 +39,7 @@ struct TargetFile {
}; };
/** /**
* A Zeexygen target abstract base class. A target is generally any portion of * A Zeekygen target abstract base class. A target is generally any portion of
* documentation that Bro can build. It's identified by a type (e.g. script, * documentation that Bro can build. It's identified by a type (e.g. script,
* identifier, package), a pattern (e.g. "example.zeek", "HTTP::Info"), and * identifier, package), a pattern (e.g. "example.zeek", "HTTP::Info"), and
* a path to an output file. * a path to an output file.
@ -125,7 +125,7 @@ public:
/** /**
* Register a new target type. * Register a new target type.
* @param type_name The target type name as it will appear in Zeexygen * @param type_name The target type name as it will appear in Zeekygen
* config files. * config files.
*/ */
template<class T> template<class T>
@ -136,7 +136,7 @@ public:
/** /**
* Instantiate a target. * Instantiate a target.
* @param type_name The target type name as it appears in Zeexygen config * @param type_name The target type name as it appears in Zeekygen config
* files. * files.
* @param name The output file name of the target. * @param name The output file name of the target.
* @param pattern The dependency pattern of the target. * @param pattern The dependency pattern of the target.
@ -384,6 +384,6 @@ private:
std::vector<IdentifierInfo*> id_deps; std::vector<IdentifierInfo*> id_deps;
}; };
} // namespace zeexygen } // namespace zeekygen
#endif #endif

View file

@ -7,10 +7,10 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <errno.h> #include <errno.h>
using namespace zeexygen; using namespace zeekygen;
using namespace std; using namespace std;
bool zeexygen::prettify_params(string& s) bool zeekygen::prettify_params(string& s)
{ {
size_t identifier_start_pos = 0; size_t identifier_start_pos = 0;
bool in_identifier = false; bool in_identifier = false;
@ -76,29 +76,29 @@ bool zeexygen::prettify_params(string& s)
return false; return false;
} }
bool zeexygen::is_public_api(const ID* id) bool zeekygen::is_public_api(const ID* id)
{ {
return (id->Scope() == SCOPE_GLOBAL) || return (id->Scope() == SCOPE_GLOBAL) ||
(id->Scope() == SCOPE_MODULE && id->IsExport()); (id->Scope() == SCOPE_MODULE && id->IsExport());
} }
time_t zeexygen::get_mtime(const string& filename) time_t zeekygen::get_mtime(const string& filename)
{ {
struct stat s; struct stat s;
if ( stat(filename.c_str(), &s) < 0 ) if ( stat(filename.c_str(), &s) < 0 )
reporter->InternalError("Zeexygen failed to stat file '%s': %s", reporter->InternalError("Zeekygen failed to stat file '%s': %s",
filename.c_str(), strerror(errno)); filename.c_str(), strerror(errno));
return s.st_mtime; return s.st_mtime;
} }
string zeexygen::make_heading(const string& heading, char underline) string zeekygen::make_heading(const string& heading, char underline)
{ {
return heading + "\n" + string(heading.size(), underline) + "\n"; return heading + "\n" + string(heading.size(), underline) + "\n";
} }
size_t zeexygen::end_of_first_sentence(const string& s) size_t zeekygen::end_of_first_sentence(const string& s)
{ {
size_t rval = 0; size_t rval = 0;
@ -119,7 +119,7 @@ size_t zeexygen::end_of_first_sentence(const string& s)
return rval; return rval;
} }
bool zeexygen::is_all_whitespace(const string& s) bool zeekygen::is_all_whitespace(const string& s)
{ {
for ( size_t i = 0; i < s.size(); ++i ) for ( size_t i = 0; i < s.size(); ++i )
if ( ! isspace(s[i]) ) if ( ! isspace(s[i]) )
@ -128,7 +128,7 @@ bool zeexygen::is_all_whitespace(const string& s)
return true; return true;
} }
string zeexygen::redef_indication(const string& from_script) string zeekygen::redef_indication(const string& from_script)
{ {
return fmt("(present if :doc:`/scripts/%s` is loaded)", return fmt("(present if :doc:`/scripts/%s` is loaded)",
from_script.c_str()); from_script.c_str());

View file

@ -1,18 +1,18 @@
// See the file "COPYING" in the main distribution directory for copyright. // See the file "COPYING" in the main distribution directory for copyright.
#ifndef ZEEXYGEN_UTILS_H #ifndef ZEEKYGEN_UTILS_H
#define ZEEXYGEN_UTILS_H #define ZEEKYGEN_UTILS_H
#include "ID.h" #include "ID.h"
#include <string> #include <string>
namespace zeexygen { namespace zeekygen {
/** /**
* Transform content of a Zeexygen comment which may contain function * Transform content of a Zeekygen comment which may contain function
* parameter or return value documentation to a prettier reST format. * parameter or return value documentation to a prettier reST format.
* @param s Content from a Zeexygen comment to transform. "id: ..." and * @param s Content from a Zeekygen comment to transform. "id: ..." and
* "Returns: ..." change to ":id: ..." and ":returns: ...". * "Returns: ..." change to ":id: ..." and ":returns: ...".
* @return Whether any content in \a s was transformed. * @return Whether any content in \a s was transformed.
*/ */
@ -62,6 +62,6 @@ bool is_all_whitespace(const std::string& s);
*/ */
std::string redef_indication(const std::string& from_script); std::string redef_indication(const std::string& from_script);
} // namespace zeexygen } // namespace zeekygen
#endif #endif

View file

@ -3,7 +3,7 @@
##! Functions for querying script, package, or variable documentation. ##! Functions for querying script, package, or variable documentation.
%%{ %%{
#include "zeexygen/Manager.h" #include "zeekygen/Manager.h"
#include "util.h" #include "util.h"
static StringVal* comments_to_val(const vector<string>& comments) static StringVal* comments_to_val(const vector<string>& comments)
@ -12,7 +12,7 @@ static StringVal* comments_to_val(const vector<string>& comments)
} }
%%} %%}
## Retrieve the Zeexygen-style comments (``##``) associated with an identifier ## Retrieve the Zeekygen-style comments (``##``) associated with an identifier
## (e.g. a variable or type). ## (e.g. a variable or type).
## ##
## name: a script-level identifier for which to retrieve comments. ## name: a script-level identifier for which to retrieve comments.
@ -21,8 +21,8 @@ static StringVal* comments_to_val(const vector<string>& comments)
## identifier, an empty string is returned. ## identifier, an empty string is returned.
function get_identifier_comments%(name: string%): string function get_identifier_comments%(name: string%): string
%{ %{
using namespace zeexygen; using namespace zeekygen;
IdentifierInfo* d = zeexygen_mgr->GetIdentifierInfo(name->CheckString()); IdentifierInfo* d = zeekygen_mgr->GetIdentifierInfo(name->CheckString());
if ( ! d ) if ( ! d )
return val_mgr->GetEmptyString(); return val_mgr->GetEmptyString();
@ -30,7 +30,7 @@ function get_identifier_comments%(name: string%): string
return comments_to_val(d->GetComments()); return comments_to_val(d->GetComments());
%} %}
## Retrieve the Zeexygen-style summary comments (``##!``) associated with ## Retrieve the Zeekygen-style summary comments (``##!``) associated with
## a Bro script. ## a Bro script.
## ##
## name: the name of a Bro script. It must be a relative path to where ## name: the name of a Bro script. It must be a relative path to where
@ -41,8 +41,8 @@ function get_identifier_comments%(name: string%): string
## *name* is not a known script, an empty string is returned. ## *name* is not a known script, an empty string is returned.
function get_script_comments%(name: string%): string function get_script_comments%(name: string%): string
%{ %{
using namespace zeexygen; using namespace zeekygen;
ScriptInfo* d = zeexygen_mgr->GetScriptInfo(name->CheckString()); ScriptInfo* d = zeekygen_mgr->GetScriptInfo(name->CheckString());
if ( ! d ) if ( ! d )
return val_mgr->GetEmptyString(); return val_mgr->GetEmptyString();
@ -59,8 +59,8 @@ function get_script_comments%(name: string%): string
## package, an empty string is returned. ## package, an empty string is returned.
function get_package_readme%(name: string%): string function get_package_readme%(name: string%): string
%{ %{
using namespace zeexygen; using namespace zeekygen;
PackageInfo* d = zeexygen_mgr->GetPackageInfo(name->CheckString()); PackageInfo* d = zeekygen_mgr->GetPackageInfo(name->CheckString());
if ( ! d ) if ( ! d )
return val_mgr->GetEmptyString(); return val_mgr->GetEmptyString();
@ -68,7 +68,7 @@ function get_package_readme%(name: string%): string
return comments_to_val(d->GetReadme()); return comments_to_val(d->GetReadme());
%} %}
## Retrieve the Zeexygen-style comments (``##``) associated with a record field. ## Retrieve the Zeekygen-style comments (``##``) associated with a record field.
## ##
## name: the name of a record type and a field within it formatted like ## name: the name of a record type and a field within it formatted like
## a typical record field access: "<record_type>$<field>". ## a typical record field access: "<record_type>$<field>".
@ -78,7 +78,7 @@ function get_package_readme%(name: string%): string
## type, an empty string is returned. ## type, an empty string is returned.
function get_record_field_comments%(name: string%): string function get_record_field_comments%(name: string%): string
%{ %{
using namespace zeexygen; using namespace zeekygen;
string accessor = name->CheckString(); string accessor = name->CheckString();
size_t i = accessor.find('$'); size_t i = accessor.find('$');
@ -87,7 +87,7 @@ function get_record_field_comments%(name: string%): string
string id = accessor.substr(0, i); string id = accessor.substr(0, i);
IdentifierInfo* d = zeexygen_mgr->GetIdentifierInfo(id); IdentifierInfo* d = zeekygen_mgr->GetIdentifierInfo(id);
if ( ! d ) if ( ! d )
return val_mgr->GetEmptyString(); return val_mgr->GetEmptyString();

View file

@ -275,7 +275,7 @@
0.000000 MetaHookPost LoadFile(./average) -> -1 0.000000 MetaHookPost LoadFile(./average) -> -1
0.000000 MetaHookPost LoadFile(./bloom-filter.bif.bro) -> -1 0.000000 MetaHookPost LoadFile(./bloom-filter.bif.bro) -> -1
0.000000 MetaHookPost LoadFile(./bro.bif.bro) -> -1 0.000000 MetaHookPost LoadFile(./bro.bif.bro) -> -1
0.000000 MetaHookPost LoadFile(./zeexygen.bif.bro) -> -1 0.000000 MetaHookPost LoadFile(./zeekygen.bif.bro) -> -1
0.000000 MetaHookPost LoadFile(./cardinality-counter.bif.bro) -> -1 0.000000 MetaHookPost LoadFile(./cardinality-counter.bif.bro) -> -1
0.000000 MetaHookPost LoadFile(./const.bif.bro) -> -1 0.000000 MetaHookPost LoadFile(./const.bif.bro) -> -1
0.000000 MetaHookPost LoadFile(./consts) -> -1 0.000000 MetaHookPost LoadFile(./consts) -> -1
@ -855,7 +855,7 @@
0.000000 MetaHookPre LoadFile(./average) 0.000000 MetaHookPre LoadFile(./average)
0.000000 MetaHookPre LoadFile(./bloom-filter.bif.bro) 0.000000 MetaHookPre LoadFile(./bloom-filter.bif.bro)
0.000000 MetaHookPre LoadFile(./bro.bif.bro) 0.000000 MetaHookPre LoadFile(./bro.bif.bro)
0.000000 MetaHookPre LoadFile(./zeexygen.bif.bro) 0.000000 MetaHookPre LoadFile(./zeekygen.bif.bro)
0.000000 MetaHookPre LoadFile(./cardinality-counter.bif.bro) 0.000000 MetaHookPre LoadFile(./cardinality-counter.bif.bro)
0.000000 MetaHookPre LoadFile(./const.bif.bro) 0.000000 MetaHookPre LoadFile(./const.bif.bro)
0.000000 MetaHookPre LoadFile(./consts) 0.000000 MetaHookPre LoadFile(./consts)
@ -1435,7 +1435,7 @@
0.000000 | HookLoadFile ./average.bro/bro 0.000000 | HookLoadFile ./average.bro/bro
0.000000 | HookLoadFile ./bloom-filter.bif.bro/bro 0.000000 | HookLoadFile ./bloom-filter.bif.bro/bro
0.000000 | HookLoadFile ./bro.bif.bro/bro 0.000000 | HookLoadFile ./bro.bif.bro/bro
0.000000 | HookLoadFile ./zeexygen.bif.bro/bro 0.000000 | HookLoadFile ./zeekygen.bif.bro/bro
0.000000 | HookLoadFile ./cardinality-counter.bif.bro/bro 0.000000 | HookLoadFile ./cardinality-counter.bif.bro/bro
0.000000 | HookLoadFile ./const.bif.bro/bro 0.000000 | HookLoadFile ./const.bif.bro/bro
0.000000 | HookLoadFile ./consts.bif.bro/bro 0.000000 | HookLoadFile ./consts.bif.bro/bro

View file

@ -55,7 +55,7 @@ scripts/base/init-frameworks-and-bifs.zeek
scripts/base/utils/patterns.zeek scripts/base/utils/patterns.zeek
scripts/base/frameworks/files/magic/__load__.zeek scripts/base/frameworks/files/magic/__load__.zeek
build/scripts/base/bif/__load__.zeek build/scripts/base/bif/__load__.zeek
build/scripts/base/bif/zeexygen.bif.zeek build/scripts/base/bif/zeekygen.bif.zeek
build/scripts/base/bif/pcap.bif.zeek build/scripts/base/bif/pcap.bif.zeek
build/scripts/base/bif/bloom-filter.bif.zeek build/scripts/base/bif/bloom-filter.bif.zeek
build/scripts/base/bif/cardinality-counter.bif.zeek build/scripts/base/bif/cardinality-counter.bif.zeek

View file

@ -55,7 +55,7 @@ scripts/base/init-frameworks-and-bifs.zeek
scripts/base/utils/patterns.zeek scripts/base/utils/patterns.zeek
scripts/base/frameworks/files/magic/__load__.zeek scripts/base/frameworks/files/magic/__load__.zeek
build/scripts/base/bif/__load__.zeek build/scripts/base/bif/__load__.zeek
build/scripts/base/bif/zeexygen.bif.zeek build/scripts/base/bif/zeekygen.bif.zeek
build/scripts/base/bif/pcap.bif.zeek build/scripts/base/bif/pcap.bif.zeek
build/scripts/base/bif/bloom-filter.bif.zeek build/scripts/base/bif/bloom-filter.bif.zeek
build/scripts/base/bif/cardinality-counter.bif.zeek build/scripts/base/bif/cardinality-counter.bif.zeek

View file

@ -1,10 +1,10 @@
:tocdepth: 3 :tocdepth: 3
zeexygen/example.zeek zeekygen/example.zeek
===================== =====================
.. zeek:namespace:: ZeexygenExample .. zeek:namespace:: ZeekygenExample
This is an example script that demonstrates Zeexygen-style This is an example script that demonstrates Zeekygen-style
documentation. It generally will make most sense when viewing documentation. It generally will make most sense when viewing
the script's raw source code and comparing to the HTML-rendered the script's raw source code and comparing to the HTML-rendered
version. version.
@ -19,14 +19,14 @@ purpose. They are transferred directly in to the generated
There's also a custom role to reference any identifier node in There's also a custom role to reference any identifier node in
the Zeek Sphinx domain that's good for "see alsos", e.g. the Zeek Sphinx domain that's good for "see alsos", e.g.
See also: :zeek:see:`ZeexygenExample::a_var`, See also: :zeek:see:`ZeekygenExample::a_var`,
:zeek:see:`ZeexygenExample::ONE`, :zeek:see:`SSH::Info` :zeek:see:`ZeekygenExample::ONE`, :zeek:see:`SSH::Info`
And a custom directive does the equivalent references: And a custom directive does the equivalent references:
.. zeek:see:: ZeexygenExample::a_var ZeexygenExample::ONE SSH::Info .. zeek:see:: ZeekygenExample::a_var ZeekygenExample::ONE SSH::Info
:Namespace: ZeexygenExample :Namespace: ZeekygenExample
:Imports: :doc:`base/frameworks/notice </scripts/base/frameworks/notice/index>`, :doc:`base/protocols/http </scripts/base/protocols/http/index>`, :doc:`policy/frameworks/software/vulnerable.zeek </scripts/policy/frameworks/software/vulnerable.zeek>` :Imports: :doc:`base/frameworks/notice </scripts/base/frameworks/notice/index>`, :doc:`base/protocols/http </scripts/base/protocols/http/index>`, :doc:`policy/frameworks/software/vulnerable.zeek </scripts/policy/frameworks/software/vulnerable.zeek>`
Summary Summary
@ -34,25 +34,25 @@ Summary
Redefinable Options Redefinable Options
################### ###################
======================================================================================= ======================================================= ======================================================================================= =======================================================
:zeek:id:`ZeexygenExample::an_option`: :zeek:type:`set` :zeek:attr:`&redef` Add documentation for "an_option" here. :zeek:id:`ZeekygenExample::an_option`: :zeek:type:`set` :zeek:attr:`&redef` Add documentation for "an_option" here.
:zeek:id:`ZeexygenExample::option_with_init`: :zeek:type:`interval` :zeek:attr:`&redef` Default initialization will be generated automatically. :zeek:id:`ZeekygenExample::option_with_init`: :zeek:type:`interval` :zeek:attr:`&redef` Default initialization will be generated automatically.
======================================================================================= ======================================================= ======================================================================================= =======================================================
State Variables State Variables
############### ###############
========================================================================== ======================================================================== ========================================================================== ========================================================================
:zeek:id:`ZeexygenExample::a_var`: :zeek:type:`bool` Put some documentation for "a_var" here. :zeek:id:`ZeekygenExample::a_var`: :zeek:type:`bool` Put some documentation for "a_var" here.
:zeek:id:`ZeexygenExample::summary_test`: :zeek:type:`string` The first sentence for a particular identifier's summary text ends here. :zeek:id:`ZeekygenExample::summary_test`: :zeek:type:`string` The first sentence for a particular identifier's summary text ends here.
:zeek:id:`ZeexygenExample::var_without_explicit_type`: :zeek:type:`string` Types are inferred, that information is self-documenting. :zeek:id:`ZeekygenExample::var_without_explicit_type`: :zeek:type:`string` Types are inferred, that information is self-documenting.
========================================================================== ======================================================================== ========================================================================== ========================================================================
Types Types
##### #####
==================================================================================== =========================================================== ==================================================================================== ===========================================================
:zeek:type:`ZeexygenExample::ComplexRecord`: :zeek:type:`record` :zeek:attr:`&redef` General documentation for a type "ComplexRecord" goes here. :zeek:type:`ZeekygenExample::ComplexRecord`: :zeek:type:`record` :zeek:attr:`&redef` General documentation for a type "ComplexRecord" goes here.
:zeek:type:`ZeexygenExample::Info`: :zeek:type:`record` An example record to be used with a logging stream. :zeek:type:`ZeekygenExample::Info`: :zeek:type:`record` An example record to be used with a logging stream.
:zeek:type:`ZeexygenExample::SimpleEnum`: :zeek:type:`enum` Documentation for the "SimpleEnum" type goes here. :zeek:type:`ZeekygenExample::SimpleEnum`: :zeek:type:`enum` Documentation for the "SimpleEnum" type goes here.
:zeek:type:`ZeexygenExample::SimpleRecord`: :zeek:type:`record` General documentation for a type "SimpleRecord" goes here. :zeek:type:`ZeekygenExample::SimpleRecord`: :zeek:type:`record` General documentation for a type "SimpleRecord" goes here.
==================================================================================== =========================================================== ==================================================================================== ===========================================================
Redefinitions Redefinitions
@ -60,21 +60,21 @@ Redefinitions
=============================================================== ==================================================================== =============================================================== ====================================================================
:zeek:type:`Log::ID`: :zeek:type:`enum` :zeek:type:`Log::ID`: :zeek:type:`enum`
:zeek:type:`Notice::Type`: :zeek:type:`enum` :zeek:type:`Notice::Type`: :zeek:type:`enum`
:zeek:type:`ZeexygenExample::SimpleEnum`: :zeek:type:`enum` Document the "SimpleEnum" redef here with any special info regarding :zeek:type:`ZeekygenExample::SimpleEnum`: :zeek:type:`enum` Document the "SimpleEnum" redef here with any special info regarding
the *redef* itself. the *redef* itself.
:zeek:type:`ZeexygenExample::SimpleRecord`: :zeek:type:`record` Document the record extension *redef* itself here. :zeek:type:`ZeekygenExample::SimpleRecord`: :zeek:type:`record` Document the record extension *redef* itself here.
=============================================================== ==================================================================== =============================================================== ====================================================================
Events Events
###### ######
======================================================== ========================== ======================================================== ==========================
:zeek:id:`ZeexygenExample::an_event`: :zeek:type:`event` Summarize "an_event" here. :zeek:id:`ZeekygenExample::an_event`: :zeek:type:`event` Summarize "an_event" here.
======================================================== ========================== ======================================================== ==========================
Functions Functions
######### #########
============================================================= ======================================= ============================================================= =======================================
:zeek:id:`ZeexygenExample::a_function`: :zeek:type:`function` Summarize purpose of "a_function" here. :zeek:id:`ZeekygenExample::a_function`: :zeek:type:`function` Summarize purpose of "a_function" here.
============================================================= ======================================= ============================================================= =======================================
@ -82,7 +82,7 @@ Detailed Interface
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
Redefinable Options Redefinable Options
################### ###################
.. zeek:id:: ZeexygenExample::an_option .. zeek:id:: ZeekygenExample::an_option
:Type: :zeek:type:`set` [:zeek:type:`addr`, :zeek:type:`addr`, :zeek:type:`string`] :Type: :zeek:type:`set` [:zeek:type:`addr`, :zeek:type:`addr`, :zeek:type:`string`]
:Attributes: :zeek:attr:`&redef` :Attributes: :zeek:attr:`&redef`
@ -91,7 +91,7 @@ Redefinable Options
Add documentation for "an_option" here. Add documentation for "an_option" here.
The type/attribute information is all generated automatically. The type/attribute information is all generated automatically.
.. zeek:id:: ZeexygenExample::option_with_init .. zeek:id:: ZeekygenExample::option_with_init
:Type: :zeek:type:`interval` :Type: :zeek:type:`interval`
:Attributes: :zeek:attr:`&redef` :Attributes: :zeek:attr:`&redef`
@ -102,7 +102,7 @@ Redefinable Options
State Variables State Variables
############### ###############
.. zeek:id:: ZeexygenExample::a_var .. zeek:id:: ZeekygenExample::a_var
:Type: :zeek:type:`bool` :Type: :zeek:type:`bool`
@ -110,7 +110,7 @@ State Variables
isn't a function/event/hook is classified as a "state variable" isn't a function/event/hook is classified as a "state variable"
in the generated docs. in the generated docs.
.. zeek:id:: ZeexygenExample::summary_test .. zeek:id:: ZeekygenExample::summary_test
:Type: :zeek:type:`string` :Type: :zeek:type:`string`
@ -118,7 +118,7 @@ State Variables
And this second sentence doesn't show in the short description provided And this second sentence doesn't show in the short description provided
by the table of all identifiers declared by this script. by the table of all identifiers declared by this script.
.. zeek:id:: ZeexygenExample::var_without_explicit_type .. zeek:id:: ZeekygenExample::var_without_explicit_type
:Type: :zeek:type:`string` :Type: :zeek:type:`string`
:Default: ``"this works"`` :Default: ``"this works"``
@ -127,7 +127,7 @@ State Variables
Types Types
##### #####
.. zeek:type:: ZeexygenExample::ComplexRecord .. zeek:type:: ZeekygenExample::ComplexRecord
:Type: :zeek:type:`record` :Type: :zeek:type:`record`
@ -137,8 +137,8 @@ Types
field2: :zeek:type:`bool` field2: :zeek:type:`bool`
Toggles something. Toggles something.
field3: :zeek:type:`ZeexygenExample::SimpleRecord` field3: :zeek:type:`ZeekygenExample::SimpleRecord`
Zeexygen automatically tracks types Zeekygen automatically tracks types
and cross-references are automatically and cross-references are automatically
inserted in to generated docs. inserted in to generated docs.
@ -148,7 +148,7 @@ Types
General documentation for a type "ComplexRecord" goes here. General documentation for a type "ComplexRecord" goes here.
.. zeek:type:: ZeexygenExample::Info .. zeek:type:: ZeekygenExample::Info
:Type: :zeek:type:`record` :Type: :zeek:type:`record`
@ -164,33 +164,33 @@ Types
fields plus the extensions and the scripts which contributed to it fields plus the extensions and the scripts which contributed to it
(provided they are also @load'ed). (provided they are also @load'ed).
.. zeek:type:: ZeexygenExample::SimpleEnum .. zeek:type:: ZeekygenExample::SimpleEnum
:Type: :zeek:type:`enum` :Type: :zeek:type:`enum`
.. zeek:enum:: ZeexygenExample::ONE ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::ONE ZeekygenExample::SimpleEnum
Documentation for particular enum values is added like this. Documentation for particular enum values is added like this.
And can also span multiple lines. And can also span multiple lines.
.. zeek:enum:: ZeexygenExample::TWO ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::TWO ZeekygenExample::SimpleEnum
Or this style is valid to document the preceding enum value. Or this style is valid to document the preceding enum value.
.. zeek:enum:: ZeexygenExample::THREE ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::THREE ZeekygenExample::SimpleEnum
.. zeek:enum:: ZeexygenExample::FOUR ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::FOUR ZeekygenExample::SimpleEnum
And some documentation for "FOUR". And some documentation for "FOUR".
.. zeek:enum:: ZeexygenExample::FIVE ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::FIVE ZeekygenExample::SimpleEnum
Also "FIVE". Also "FIVE".
Documentation for the "SimpleEnum" type goes here. Documentation for the "SimpleEnum" type goes here.
It can span multiple lines. It can span multiple lines.
.. zeek:type:: ZeexygenExample::SimpleRecord .. zeek:type:: ZeekygenExample::SimpleRecord
:Type: :zeek:type:`record` :Type: :zeek:type:`record`
@ -210,23 +210,23 @@ Types
Events Events
###### ######
.. zeek:id:: ZeexygenExample::an_event .. zeek:id:: ZeekygenExample::an_event
:Type: :zeek:type:`event` (name: :zeek:type:`string`) :Type: :zeek:type:`event` (name: :zeek:type:`string`)
Summarize "an_event" here. Summarize "an_event" here.
Give more details about "an_event" here. Give more details about "an_event" here.
ZeexygenExample::a_function should not be confused as a parameter ZeekygenExample::a_function should not be confused as a parameter
in the generated docs, but it also doesn't generate a cross-reference in the generated docs, but it also doesn't generate a cross-reference
link. Use the see role instead: :zeek:see:`ZeexygenExample::a_function`. link. Use the see role instead: :zeek:see:`ZeekygenExample::a_function`.
:name: Describe the argument here. :name: Describe the argument here.
Functions Functions
######### #########
.. zeek:id:: ZeexygenExample::a_function .. zeek:id:: ZeekygenExample::a_function
:Type: :zeek:type:`function` (tag: :zeek:type:`string`, msg: :zeek:type:`string`) : :zeek:type:`string` :Type: :zeek:type:`function` (tag: :zeek:type:`string`, msg: :zeek:type:`string`) : :zeek:type:`string`

View file

@ -1,91 +1,91 @@
.. zeek:id:: ZeexygenExample::Zeexygen_One .. zeek:id:: ZeekygenExample::Zeekygen_One
:Type: :zeek:type:`Notice::Type` :Type: :zeek:type:`Notice::Type`
Any number of this type of comment Any number of this type of comment
will document "Zeexygen_One". will document "Zeekygen_One".
.. zeek:id:: ZeexygenExample::Zeexygen_Two .. zeek:id:: ZeekygenExample::Zeekygen_Two
:Type: :zeek:type:`Notice::Type` :Type: :zeek:type:`Notice::Type`
Any number of this type of comment Any number of this type of comment
will document "ZEEXYGEN_TWO". will document "ZEEKYGEN_TWO".
.. zeek:id:: ZeexygenExample::Zeexygen_Three .. zeek:id:: ZeekygenExample::Zeekygen_Three
:Type: :zeek:type:`Notice::Type` :Type: :zeek:type:`Notice::Type`
.. zeek:id:: ZeexygenExample::Zeexygen_Four .. zeek:id:: ZeekygenExample::Zeekygen_Four
:Type: :zeek:type:`Notice::Type` :Type: :zeek:type:`Notice::Type`
Omitting comments is fine, and so is mixing ``##`` and ``##<``, but Omitting comments is fine, and so is mixing ``##`` and ``##<``, but
it's probably best to use only one style consistently. it's probably best to use only one style consistently.
.. zeek:id:: ZeexygenExample::LOG .. zeek:id:: ZeekygenExample::LOG
:Type: :zeek:type:`Log::ID` :Type: :zeek:type:`Log::ID`
.. zeek:type:: ZeexygenExample::SimpleEnum .. zeek:type:: ZeekygenExample::SimpleEnum
:Type: :zeek:type:`enum` :Type: :zeek:type:`enum`
.. zeek:enum:: ZeexygenExample::ONE ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::ONE ZeekygenExample::SimpleEnum
Documentation for particular enum values is added like this. Documentation for particular enum values is added like this.
And can also span multiple lines. And can also span multiple lines.
.. zeek:enum:: ZeexygenExample::TWO ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::TWO ZeekygenExample::SimpleEnum
Or this style is valid to document the preceding enum value. Or this style is valid to document the preceding enum value.
.. zeek:enum:: ZeexygenExample::THREE ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::THREE ZeekygenExample::SimpleEnum
.. zeek:enum:: ZeexygenExample::FOUR ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::FOUR ZeekygenExample::SimpleEnum
And some documentation for "FOUR". And some documentation for "FOUR".
.. zeek:enum:: ZeexygenExample::FIVE ZeexygenExample::SimpleEnum .. zeek:enum:: ZeekygenExample::FIVE ZeekygenExample::SimpleEnum
Also "FIVE". Also "FIVE".
Documentation for the "SimpleEnum" type goes here. Documentation for the "SimpleEnum" type goes here.
It can span multiple lines. It can span multiple lines.
.. zeek:id:: ZeexygenExample::ONE .. zeek:id:: ZeekygenExample::ONE
:Type: :zeek:type:`ZeexygenExample::SimpleEnum` :Type: :zeek:type:`ZeekygenExample::SimpleEnum`
Documentation for particular enum values is added like this. Documentation for particular enum values is added like this.
And can also span multiple lines. And can also span multiple lines.
.. zeek:id:: ZeexygenExample::TWO .. zeek:id:: ZeekygenExample::TWO
:Type: :zeek:type:`ZeexygenExample::SimpleEnum` :Type: :zeek:type:`ZeekygenExample::SimpleEnum`
Or this style is valid to document the preceding enum value. Or this style is valid to document the preceding enum value.
.. zeek:id:: ZeexygenExample::THREE .. zeek:id:: ZeekygenExample::THREE
:Type: :zeek:type:`ZeexygenExample::SimpleEnum` :Type: :zeek:type:`ZeekygenExample::SimpleEnum`
.. zeek:id:: ZeexygenExample::FOUR .. zeek:id:: ZeekygenExample::FOUR
:Type: :zeek:type:`ZeexygenExample::SimpleEnum` :Type: :zeek:type:`ZeekygenExample::SimpleEnum`
And some documentation for "FOUR". And some documentation for "FOUR".
.. zeek:id:: ZeexygenExample::FIVE .. zeek:id:: ZeekygenExample::FIVE
:Type: :zeek:type:`ZeexygenExample::SimpleEnum` :Type: :zeek:type:`ZeekygenExample::SimpleEnum`
Also "FIVE". Also "FIVE".
.. zeek:type:: ZeexygenExample::SimpleRecord .. zeek:type:: ZeekygenExample::SimpleRecord
:Type: :zeek:type:`record` :Type: :zeek:type:`record`
@ -103,7 +103,7 @@
The way fields can be documented is similar to what's already seen The way fields can be documented is similar to what's already seen
for enums. for enums.
.. zeek:type:: ZeexygenExample::ComplexRecord .. zeek:type:: ZeekygenExample::ComplexRecord
:Type: :zeek:type:`record` :Type: :zeek:type:`record`
@ -113,8 +113,8 @@
field2: :zeek:type:`bool` field2: :zeek:type:`bool`
Toggles something. Toggles something.
field3: :zeek:type:`ZeexygenExample::SimpleRecord` field3: :zeek:type:`ZeekygenExample::SimpleRecord`
Zeexygen automatically tracks types Zeekygen automatically tracks types
and cross-references are automatically and cross-references are automatically
inserted in to generated docs. inserted in to generated docs.
@ -124,7 +124,7 @@
General documentation for a type "ComplexRecord" goes here. General documentation for a type "ComplexRecord" goes here.
.. zeek:type:: ZeexygenExample::Info .. zeek:type:: ZeekygenExample::Info
:Type: :zeek:type:`record` :Type: :zeek:type:`record`
@ -140,7 +140,7 @@
fields plus the extensions and the scripts which contributed to it fields plus the extensions and the scripts which contributed to it
(provided they are also @load'ed). (provided they are also @load'ed).
.. zeek:id:: ZeexygenExample::an_option .. zeek:id:: ZeekygenExample::an_option
:Type: :zeek:type:`set` [:zeek:type:`addr`, :zeek:type:`addr`, :zeek:type:`string`] :Type: :zeek:type:`set` [:zeek:type:`addr`, :zeek:type:`addr`, :zeek:type:`string`]
:Attributes: :zeek:attr:`&redef` :Attributes: :zeek:attr:`&redef`
@ -149,7 +149,7 @@
Add documentation for "an_option" here. Add documentation for "an_option" here.
The type/attribute information is all generated automatically. The type/attribute information is all generated automatically.
.. zeek:id:: ZeexygenExample::option_with_init .. zeek:id:: ZeekygenExample::option_with_init
:Type: :zeek:type:`interval` :Type: :zeek:type:`interval`
:Attributes: :zeek:attr:`&redef` :Attributes: :zeek:attr:`&redef`
@ -158,7 +158,7 @@
Default initialization will be generated automatically. Default initialization will be generated automatically.
More docs can be added here. More docs can be added here.
.. zeek:id:: ZeexygenExample::a_var .. zeek:id:: ZeekygenExample::a_var
:Type: :zeek:type:`bool` :Type: :zeek:type:`bool`
@ -166,14 +166,14 @@
isn't a function/event/hook is classified as a "state variable" isn't a function/event/hook is classified as a "state variable"
in the generated docs. in the generated docs.
.. zeek:id:: ZeexygenExample::var_without_explicit_type .. zeek:id:: ZeekygenExample::var_without_explicit_type
:Type: :zeek:type:`string` :Type: :zeek:type:`string`
:Default: ``"this works"`` :Default: ``"this works"``
Types are inferred, that information is self-documenting. Types are inferred, that information is self-documenting.
.. zeek:id:: ZeexygenExample::summary_test .. zeek:id:: ZeekygenExample::summary_test
:Type: :zeek:type:`string` :Type: :zeek:type:`string`
@ -181,7 +181,7 @@
And this second sentence doesn't show in the short description provided And this second sentence doesn't show in the short description provided
by the table of all identifiers declared by this script. by the table of all identifiers declared by this script.
.. zeek:id:: ZeexygenExample::a_function .. zeek:id:: ZeekygenExample::a_function
:Type: :zeek:type:`function` (tag: :zeek:type:`string`, msg: :zeek:type:`string`) : :zeek:type:`string` :Type: :zeek:type:`function` (tag: :zeek:type:`string`, msg: :zeek:type:`string`) : :zeek:type:`string`
@ -200,26 +200,26 @@
:returns: Describe the return type here. :returns: Describe the return type here.
.. zeek:id:: ZeexygenExample::an_event .. zeek:id:: ZeekygenExample::an_event
:Type: :zeek:type:`event` (name: :zeek:type:`string`) :Type: :zeek:type:`event` (name: :zeek:type:`string`)
Summarize "an_event" here. Summarize "an_event" here.
Give more details about "an_event" here. Give more details about "an_event" here.
ZeexygenExample::a_function should not be confused as a parameter ZeekygenExample::a_function should not be confused as a parameter
in the generated docs, but it also doesn't generate a cross-reference in the generated docs, but it also doesn't generate a cross-reference
link. Use the see role instead: :zeek:see:`ZeexygenExample::a_function`. link. Use the see role instead: :zeek:see:`ZeekygenExample::a_function`.
:name: Describe the argument here. :name: Describe the argument here.
.. zeek:id:: ZeexygenExample::function_without_proto .. zeek:id:: ZeekygenExample::function_without_proto
:Type: :zeek:type:`function` (tag: :zeek:type:`string`) : :zeek:type:`string` :Type: :zeek:type:`function` (tag: :zeek:type:`string`) : :zeek:type:`string`
.. zeek:type:: ZeexygenExample::PrivateRecord .. zeek:type:: ZeekygenExample::PrivateRecord
:Type: :zeek:type:`record` :Type: :zeek:type:`record`

View file

@ -1,19 +1,19 @@
:orphan: :orphan:
Package: zeexygen Package: zeekygen
================= =================
This package is loaded during the process which automatically generates This package is loaded during the process which automatically generates
reference documentation for all Zeek scripts (i.e. "Zeexygen"). Its only reference documentation for all Zeek scripts (i.e. "Zeekygen"). Its only
purpose is to provide an easy way to load all known Zeek scripts plus any purpose is to provide an easy way to load all known Zeek scripts plus any
extra scripts needed or used by the documentation process. extra scripts needed or used by the documentation process.
:doc:`/scripts/zeexygen/__load__.zeek` :doc:`/scripts/zeekygen/__load__.zeek`
:doc:`/scripts/zeexygen/example.zeek` :doc:`/scripts/zeekygen/example.zeek`
This is an example script that demonstrates Zeexygen-style This is an example script that demonstrates Zeekygen-style
documentation. It generally will make most sense when viewing documentation. It generally will make most sense when viewing
the script's raw source code and comparing to the HTML-rendered the script's raw source code and comparing to the HTML-rendered
version. version.
@ -28,10 +28,10 @@ extra scripts needed or used by the documentation process.
There's also a custom role to reference any identifier node in There's also a custom role to reference any identifier node in
the Zeek Sphinx domain that's good for "see alsos", e.g. the Zeek Sphinx domain that's good for "see alsos", e.g.
See also: :zeek:see:`ZeexygenExample::a_var`, See also: :zeek:see:`ZeekygenExample::a_var`,
:zeek:see:`ZeexygenExample::ONE`, :zeek:see:`SSH::Info` :zeek:see:`ZeekygenExample::ONE`, :zeek:see:`SSH::Info`
And a custom directive does the equivalent references: And a custom directive does the equivalent references:
.. zeek:see:: ZeexygenExample::a_var ZeexygenExample::ONE SSH::Info .. zeek:see:: ZeekygenExample::a_var ZeekygenExample::ONE SSH::Info

View file

@ -1,7 +1,7 @@
:doc:`zeexygen </scripts/zeexygen/index>` :doc:`zeekygen </scripts/zeekygen/index>`
This package is loaded during the process which automatically generates This package is loaded during the process which automatically generates
reference documentation for all Zeek scripts (i.e. "Zeexygen"). Its only reference documentation for all Zeek scripts (i.e. "Zeekygen"). Its only
purpose is to provide an easy way to load all known Zeek scripts plus any purpose is to provide an easy way to load all known Zeek scripts plus any
extra scripts needed or used by the documentation process. extra scripts needed or used by the documentation process.

View file

@ -0,0 +1,5 @@
.. toctree::
:maxdepth: 1
zeekygen/__load__.zeek </scripts/zeekygen/__load__.zeek>
zeekygen/example.zeek </scripts/zeekygen/example.zeek>

View file

@ -1,5 +1,5 @@
:doc:`/scripts/zeexygen/example.zeek` :doc:`/scripts/zeekygen/example.zeek`
This is an example script that demonstrates Zeexygen-style This is an example script that demonstrates Zeekygen-style
documentation. It generally will make most sense when viewing documentation. It generally will make most sense when viewing
the script's raw source code and comparing to the HTML-rendered the script's raw source code and comparing to the HTML-rendered
version. version.
@ -14,10 +14,10 @@
There's also a custom role to reference any identifier node in There's also a custom role to reference any identifier node in
the Zeek Sphinx domain that's good for "see alsos", e.g. the Zeek Sphinx domain that's good for "see alsos", e.g.
See also: :zeek:see:`ZeexygenExample::a_var`, See also: :zeek:see:`ZeekygenExample::a_var`,
:zeek:see:`ZeexygenExample::ONE`, :zeek:see:`SSH::Info` :zeek:see:`ZeekygenExample::ONE`, :zeek:see:`SSH::Info`
And a custom directive does the equivalent references: And a custom directive does the equivalent references:
.. zeek:see:: ZeexygenExample::a_var ZeexygenExample::ONE SSH::Info .. zeek:see:: ZeekygenExample::a_var ZeekygenExample::ONE SSH::Info

View file

@ -1,16 +1,16 @@
.. zeek:type:: ZeexygenTest::TypeAlias .. zeek:type:: ZeekygenTest::TypeAlias
:Type: :zeek:type:`bool` :Type: :zeek:type:`bool`
This is just an alias for a builtin type ``bool``. This is just an alias for a builtin type ``bool``.
.. zeek:type:: ZeexygenTest::NotTypeAlias .. zeek:type:: ZeekygenTest::NotTypeAlias
:Type: :zeek:type:`bool` :Type: :zeek:type:`bool`
This type should get its own comments, not associated w/ TypeAlias. This type should get its own comments, not associated w/ TypeAlias.
.. zeek:type:: ZeexygenTest::OtherTypeAlias .. zeek:type:: ZeekygenTest::OtherTypeAlias
:Type: :zeek:type:`bool` :Type: :zeek:type:`bool`
@ -19,25 +19,25 @@
one doesn't have to click through the full type alias chain to one doesn't have to click through the full type alias chain to
find out what the actual type is... find out what the actual type is...
.. zeek:id:: ZeexygenTest::a .. zeek:id:: ZeekygenTest::a
:Type: :zeek:type:`ZeexygenTest::TypeAlias` :Type: :zeek:type:`ZeekygenTest::TypeAlias`
But this should reference a type of ``TypeAlias``. But this should reference a type of ``TypeAlias``.
.. zeek:id:: ZeexygenTest::b .. zeek:id:: ZeekygenTest::b
:Type: :zeek:type:`ZeexygenTest::OtherTypeAlias` :Type: :zeek:type:`ZeekygenTest::OtherTypeAlias`
And this should reference a type of ``OtherTypeAlias``. And this should reference a type of ``OtherTypeAlias``.
.. zeek:type:: ZeexygenTest::MyRecord .. zeek:type:: ZeekygenTest::MyRecord
:Type: :zeek:type:`record` :Type: :zeek:type:`record`
f1: :zeek:type:`ZeexygenTest::TypeAlias` f1: :zeek:type:`ZeekygenTest::TypeAlias`
f2: :zeek:type:`ZeexygenTest::OtherTypeAlias` f2: :zeek:type:`ZeekygenTest::OtherTypeAlias`
f3: :zeek:type:`bool` f3: :zeek:type:`bool`

View file

@ -1,5 +0,0 @@
.. toctree::
:maxdepth: 1
zeexygen/__load__.zeek </scripts/zeexygen/__load__.zeek>
zeexygen/example.zeek </scripts/zeexygen/example.zeek>

View file

@ -785,7 +785,7 @@
0.000000 MetaHookPost LoadFile(0, .<...>/utils.zeek) -> -1 0.000000 MetaHookPost LoadFile(0, .<...>/utils.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, .<...>/variance.zeek) -> -1 0.000000 MetaHookPost LoadFile(0, .<...>/variance.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, .<...>/weird.zeek) -> -1 0.000000 MetaHookPost LoadFile(0, .<...>/weird.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, .<...>/zeexygen.bif.zeek) -> -1 0.000000 MetaHookPost LoadFile(0, .<...>/zeekygen.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, <...>/__load__.zeek) -> -1 0.000000 MetaHookPost LoadFile(0, <...>/__load__.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, <...>/__preload__.zeek) -> -1 0.000000 MetaHookPost LoadFile(0, <...>/__preload__.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, <...>/hooks.zeek) -> -1 0.000000 MetaHookPost LoadFile(0, <...>/hooks.zeek) -> -1
@ -1688,7 +1688,7 @@
0.000000 MetaHookPre LoadFile(0, .<...>/utils.zeek) 0.000000 MetaHookPre LoadFile(0, .<...>/utils.zeek)
0.000000 MetaHookPre LoadFile(0, .<...>/variance.zeek) 0.000000 MetaHookPre LoadFile(0, .<...>/variance.zeek)
0.000000 MetaHookPre LoadFile(0, .<...>/weird.zeek) 0.000000 MetaHookPre LoadFile(0, .<...>/weird.zeek)
0.000000 MetaHookPre LoadFile(0, .<...>/zeexygen.bif.zeek) 0.000000 MetaHookPre LoadFile(0, .<...>/zeekygen.bif.zeek)
0.000000 MetaHookPre LoadFile(0, <...>/__load__.zeek) 0.000000 MetaHookPre LoadFile(0, <...>/__load__.zeek)
0.000000 MetaHookPre LoadFile(0, <...>/__preload__.zeek) 0.000000 MetaHookPre LoadFile(0, <...>/__preload__.zeek)
0.000000 MetaHookPre LoadFile(0, <...>/hooks.zeek) 0.000000 MetaHookPre LoadFile(0, <...>/hooks.zeek)
@ -2599,7 +2599,7 @@
0.000000 | HookLoadFile .<...>/variance.zeek 0.000000 | HookLoadFile .<...>/variance.zeek
0.000000 | HookLoadFile .<...>/video.sig 0.000000 | HookLoadFile .<...>/video.sig
0.000000 | HookLoadFile .<...>/weird.zeek 0.000000 | HookLoadFile .<...>/weird.zeek
0.000000 | HookLoadFile .<...>/zeexygen.bif.zeek 0.000000 | HookLoadFile .<...>/zeekygen.bif.zeek
0.000000 | HookLoadFile <...>/__load__.zeek 0.000000 | HookLoadFile <...>/__load__.zeek
0.000000 | HookLoadFile <...>/__preload__.zeek 0.000000 | HookLoadFile <...>/__preload__.zeek
0.000000 | HookLoadFile <...>/hooks.zeek 0.000000 | HookLoadFile <...>/hooks.zeek

View file

@ -1,12 +1,12 @@
# This check piggy-backs on the test-all-policy.zeek test, assuming that every # This check piggy-backs on the test-all-policy.zeek test, assuming that every
# loadable script is referenced there. The only additional check here is # loadable script is referenced there. The only additional check here is
# that the zeexygen package should even load scripts that are commented # that the zeekygen package should even load scripts that are commented
# out in test-all-policy.zeek because the zeexygen package is only loaded # out in test-all-policy.zeek because the zeekygen package is only loaded
# when generated documentation and will terminate has soon as zeek_init # when generated documentation and will terminate has soon as zeek_init
# is handled, even if a script will e.g. put Zeek into listen mode or otherwise # is handled, even if a script will e.g. put Zeek into listen mode or otherwise
# cause it to not terminate after scripts are parsed. # cause it to not terminate after scripts are parsed.
# @TEST-EXEC: bash %INPUT $DIST/scripts/test-all-policy.zeek $DIST/scripts/zeexygen/__load__.zeek # @TEST-EXEC: bash %INPUT $DIST/scripts/test-all-policy.zeek $DIST/scripts/zeekygen/__load__.zeek
error_count=0 error_count=0
@ -22,10 +22,10 @@ if [ $# -ne 2 ]; then
fi fi
all_loads=$(egrep "#[[:space:]]*@load.*" $1 | sed 's/#[[:space:]]*@load[[:space:]]*//g') all_loads=$(egrep "#[[:space:]]*@load.*" $1 | sed 's/#[[:space:]]*@load[[:space:]]*//g')
zeexygen_loads=$(egrep "@load.*" $2 | sed 's/@load[[:space:]]*//g') zeekygen_loads=$(egrep "@load.*" $2 | sed 's/@load[[:space:]]*//g')
for f in $all_loads; do for f in $all_loads; do
echo "$zeexygen_loads" | grep -q $f || error_msg "$f not loaded in zeexygen/__load__.zeek" echo "$zeekygen_loads" | grep -q $f || error_msg "$f not loaded in zeekygen/__load__.zeek"
done done
if [ $error_count -gt 0 ]; then if [ $error_count -gt 0 ]; then

View file

@ -1,11 +1,11 @@
# This script checks whether the reST docs generated by zeexygen are stale. # This script checks whether the reST docs generated by zeekygen are stale.
# If this test fails when testing the master branch, then simply run: # If this test fails when testing the master branch, then simply run:
# #
# testing/scripts/gen-zeexygen-docs.sh # testing/scripts/update-zeekygen-docs.sh
# #
# and then commit the changes. # and then commit the changes.
# #
# @TEST-EXEC: bash $SCRIPTS/gen-zeexygen-docs.sh ./doc # @TEST-EXEC: bash $SCRIPTS/update-zeekygen-docs.sh ./doc
# @TEST-EXEC: bash %INPUT # @TEST-EXEC: bash %INPUT
if [ -n "$TRAVIS_PULL_REQUEST" ]; then if [ -n "$TRAVIS_PULL_REQUEST" ]; then
@ -33,7 +33,7 @@ function check_diff
echo "If this fails in the master branch or when merging to master," 1>&2 echo "If this fails in the master branch or when merging to master," 1>&2
echo "re-run the following command:" 1>&2 echo "re-run the following command:" 1>&2
echo "" 1>&2 echo "" 1>&2
echo " $SCRIPTS/gen-zeexygen-docs.sh" 1>&2 echo " $SCRIPTS/update-zeekygen-docs.sh" 1>&2
echo "" 1>&2 echo "" 1>&2
echo "Then commit/push the changes in the zeek-docs repo" 1>&2 echo "Then commit/push the changes in the zeek-docs repo" 1>&2
echo "(the doc/ directory in the zeek repo)." 1>&2 echo "(the doc/ directory in the zeek repo)." 1>&2

View file

@ -1,7 +1,7 @@
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT # @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT
# @TEST-EXEC: btest-diff autogen-reST-enums.rst # @TEST-EXEC: btest-diff autogen-reST-enums.rst
@TEST-START-FILE zeexygen.config @TEST-START-FILE zeekygen.config
identifier TestEnum* autogen-reST-enums.rst identifier TestEnum* autogen-reST-enums.rst
@TEST-END-FILE @TEST-END-FILE

View file

@ -0,0 +1,8 @@
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -X zeekygen.config %INPUT
# @TEST-EXEC: btest-diff example.rst
@TEST-START-FILE zeekygen.config
script zeekygen/example.zeek example.rst
@TEST-END-FILE
@load zeekygen/example

View file

@ -1,7 +1,7 @@
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT # @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT
# @TEST-EXEC: btest-diff autogen-reST-func-params.rst # @TEST-EXEC: btest-diff autogen-reST-func-params.rst
@TEST-START-FILE zeexygen.config @TEST-START-FILE zeekygen.config
identifier test_func_params* autogen-reST-func-params.rst identifier test_func_params* autogen-reST-func-params.rst
@TEST-END-FILE @TEST-END-FILE

View file

@ -0,0 +1,9 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeekygen.config
identifier ZeekygenExample::* test.rst
@TEST-END-FILE
@load zeekygen

View file

@ -0,0 +1,9 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeekygen.config
package zeekygen test.rst
@TEST-END-FILE
@load zeekygen

View file

@ -0,0 +1,9 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeekygen.config
package_index zeekygen test.rst
@TEST-END-FILE
@load zeekygen

View file

@ -1,7 +1,7 @@
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT # @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT
# @TEST-EXEC: btest-diff autogen-reST-records.rst # @TEST-EXEC: btest-diff autogen-reST-records.rst
@TEST-START-FILE zeexygen.config @TEST-START-FILE zeekygen.config
identifier TestRecord* autogen-reST-records.rst identifier TestRecord* autogen-reST-records.rst
@TEST-END-FILE @TEST-END-FILE

View file

@ -0,0 +1,9 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeekygen.config
script_index zeekygen/* test.rst
@TEST-END-FILE
@load zeekygen

View file

@ -0,0 +1,9 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeekygen.config
script_summary zeekygen/example.zeek test.rst
@TEST-END-FILE
@load zeekygen

View file

@ -1,11 +1,11 @@
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT # @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT
# @TEST-EXEC: btest-diff autogen-reST-type-aliases.rst # @TEST-EXEC: btest-diff autogen-reST-type-aliases.rst
@TEST-START-FILE zeexygen.config @TEST-START-FILE zeekygen.config
identifier ZeexygenTest::* autogen-reST-type-aliases.rst identifier ZeekygenTest::* autogen-reST-type-aliases.rst
@TEST-END-FILE @TEST-END-FILE
module ZeexygenTest; module ZeekygenTest;
export { export {
## This is just an alias for a builtin type ``bool``. ## This is just an alias for a builtin type ``bool``.

View file

@ -1,7 +1,7 @@
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT # @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeekygen.config %INPUT
# @TEST-EXEC: btest-diff autogen-reST-vectors.rst # @TEST-EXEC: btest-diff autogen-reST-vectors.rst
@TEST-START-FILE zeexygen.config @TEST-START-FILE zeekygen.config
identifier test_vector* autogen-reST-vectors.rst identifier test_vector* autogen-reST-vectors.rst
@TEST-END-FILE @TEST-END-FILE

View file

@ -1,8 +0,0 @@
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -X zeexygen.config %INPUT
# @TEST-EXEC: btest-diff example.rst
@TEST-START-FILE zeexygen.config
script zeexygen/example.zeek example.rst
@TEST-END-FILE
@load zeexygen/example

View file

@ -1,9 +0,0 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeexygen.config
identifier ZeexygenExample::* test.rst
@TEST-END-FILE
@load zeexygen

View file

@ -1,9 +0,0 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeexygen.config
package zeexygen test.rst
@TEST-END-FILE
@load zeexygen

View file

@ -1,9 +0,0 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeexygen.config
package_index zeexygen test.rst
@TEST-END-FILE
@load zeexygen

View file

@ -1,9 +0,0 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeexygen.config
script_index zeexygen/* test.rst
@TEST-END-FILE
@load zeexygen

View file

@ -1,9 +0,0 @@
# @TEST-PORT: BROKER_PORT
# @TEST-EXEC: unset BRO_DISABLE_BROXYGEN; bro -b -X zeexygen.config %INPUT Broker::default_port=$BROKER_PORT
# @TEST-EXEC: btest-diff test.rst
@TEST-START-FILE zeexygen.config
script_summary zeexygen/example.zeek test.rst
@TEST-END-FILE
@load zeexygen

View file

@ -11,9 +11,9 @@ unset BRO_DEFAULT_CONNECT_RETRY
dir="$( cd "$( dirname "$0" )" && pwd )" dir="$( cd "$( dirname "$0" )" && pwd )"
source_dir="$( cd $dir/../.. && pwd )" source_dir="$( cd $dir/../.. && pwd )"
build_dir=$source_dir/build build_dir=$source_dir/build
conf_file=$build_dir/zeexygen-test.conf conf_file=$build_dir/zeekygen-test.conf
output_dir=$source_dir/doc output_dir=$source_dir/doc
zeek_error_file=$build_dir/zeexygen-test-stderr.txt zeek_error_file=$build_dir/zeekygen-test-stderr.txt
if [ -n "$1" ]; then if [ -n "$1" ]; then
output_dir=$1 output_dir=$1
@ -30,10 +30,10 @@ export BRO_SEED_FILE=$source_dir/testing/btest/random.seed
function run_zeek function run_zeek
{ {
ZEEK_ALLOW_INIT_ERRORS=1 bro -X $conf_file zeexygen >/dev/null 2>$zeek_error_file ZEEK_ALLOW_INIT_ERRORS=1 bro -X $conf_file zeekygen >/dev/null 2>$zeek_error_file
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "Failed running zeek with zeexygen config file $conf_file" echo "Failed running zeek with zeekygen config file $conf_file"
echo "See stderr in $zeek_error_file" echo "See stderr in $zeek_error_file"
exit 1 exit 1
fi fi