2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 05:55:28 +00:00

[5017] Doc updated, doxygen warnings removed.

This commit is contained in:
Tomek Mrugalski
2016-12-15 16:53:35 +01:00
parent bdfcf8c886
commit 3f050858c7
5 changed files with 50 additions and 17 deletions

View File

@@ -37,27 +37,23 @@
<itemizedlist>
<listitem>
<simpara>shell comments: any text after the hash (#)
character is ignored. Dhcp6 allows # in any column, while
Dhcp4 and Ddns require hash to be in the first
column.</simpara>
character is ignored. Both Dhcp4 and Dhcp6 allow # in any column,
while Ddns requires hash to be in the first column.</simpara>
</listitem>
<listitem>
<simpara>C comments: any text after the double slashes (//)
character is ignored. We're in a process of
migrating the configuation parsers and currently only Dhcp6
supports this feature.</simpara>
character is ignored. Both Dhcp4 and Dhcp6 supports this
feature.</simpara>
</listitem>
<listitem>
<simpara>Multiline comments: any text between /* and */ is
ignored. This commenting can span multiple lines. We're in a
process of migrating the configuation parsers and currently
only Dhcp6 supports this feature.</simpara>
ignored. This commenting can span multiple lines. Both Dhcp4 and
Dhcp6 supports this feature.</simpara>
</listitem>
<listitem>
<simpara>File inclusion: JSON files can include other JSON
files. This can be done by using &lt;?include
"file.json"?&gt;. We're in a process of migrating the
configuation parsers and currently only Dhcp6 supports this
"file.json"?&gt;. Both Dhcp4 and Dhcp6 supports this
feature.</simpara>
</listitem>
</itemizedlist>

View File

@@ -41,6 +41,43 @@ all configuration parsers. All DHCPv4 parsers deriving from this class
directly have their entire implementation in the
src/bin/dhcp4/json_config_parser.cc.
@section dhcpv4ConfigParserBison Configuration Parser for DHCPv4 (bison)
If you are here only to learn absolute minimum about the new parser, here's how you
use it:
@code
// The following code:
json = isc::data::Element::fromJSONFile(file_name, true);
// can be replaced with this:
Parser4Context parser;
json = parser.parseFile(file_name, Parser4Context::PARSER_DHCP4);
@endcode
For an introduction, rationale and issues the new parser tries to address,
see @ref dhcpv6ConfigParserBison.
The code change for 5017 introduces flex/bison based parser. It is
essentially defined in two files: dhcp4_lexer.ll, which defines
regular expressions that are used on the input (be it a file or a
string in memory). In essence, this code is being called repeatedly
and each time it returns a token. This repeats until either the
parsing is complete or syntax error is encountered. For detailed
discussion, how they operate see @ref dhcpv6ConfigParserBison.
@section dhcpv4ConfigSubParser Parsing Partial Configuration in DHCPv4
See @ref dhcpv6ConfigSubParser.
@section dhcp4ParserIncludes Config File Includes
See @ref dhcp6ParserIncludes.
@section dhcp4ParserConflicts Avoiding syntactical conflicts in parsers
See @ref dhcp6ParserConflicts.
@section dhcpv4ConfigInherit DHCPv4 configuration inheritance
One notable useful feature of DHCP configuration is its parameter inheritance.

View File

@@ -95,14 +95,14 @@ public:
/// @brief Method called before scanning starts on a string.
///
/// @param str string to be parsed
/// @param parser_type specifies expected content
/// @param type specifies expected content
void scanStringBegin(const std::string& str, ParserType type);
/// @brief Method called before scanning starts on a file.
///
/// @param f stdio FILE pointer
/// @param filename file to be parsed
/// @param parser_type specifies expected content
/// @param type specifies expected content
void scanFileBegin(FILE* f, const std::string& filename, ParserType type);
/// @brief Method called after the last tokens are scanned.

View File

@@ -4,10 +4,10 @@
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef PARSER6_CONTEXT_DECL_H
#define PARSER6_CONTEXT_DECL_H
#ifndef PARSER4_CONTEXT_DECL_H
#define PARSER4_CONTEXT_DECL_H
/// @file parser_context_decl.h Forward declaration of the ParserContext class
/// @file dhcp4/parser_context_decl.h Forward declaration of the ParserContext class
namespace isc {
namespace dhcp {

View File

@@ -7,7 +7,7 @@
#ifndef PARSER6_CONTEXT_DECL_H
#define PARSER6_CONTEXT_DECL_H
/// @file parser_context_decl.h Forward declaration of the ParserContext class
/// @file dhcp6/parser_context_decl.h Forward declaration of the ParserContext class
namespace isc {
namespace dhcp {