summaryrefslogtreecommitdiffstats
path: root/src/lib/dns/master_lexer.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into trac2534Mukund Sivaraman2014-02-201-3/+3
|\
| * [2518] Introduce isc::dns::Exception and organize all DNS exceptions under itMukund Sivaraman2014-01-171-3/+3
| |
* | [2534] Support some minor cases for quoted character strings (compatibility ↵Mukund Sivaraman2014-01-221-0/+4
|/ | | | with BIND 9)
* [2726] Make the lexer noncopyableMichal 'vorner' Vaner2013-06-121-1/+3
| | | | | It contains pointers, doesn't make sense to copy and writing copy constructors would be extra work.
* [master] Merge branch 'trac2573'JINMEI Tatuya2013-01-181-13/+29
|\ | | | | | | | | fixed Conflicts: src/lib/datasrc/zone_loader.cc
| * [2573] changed lexer's getTotalSourceSize/Position with accumulation.JINMEI Tatuya2013-01-121-13/+29
| | | | | | | | | | | | now the size is not decreased when it's popped. on second thought, I think it makes more sense to eventually get more precise estimation of the total progress.
* | [2572] convert OpenError to Unexpected in the stream ver. of pushSource.JINMEI Tatuya2013-01-151-0/+16
|/ | | | | | with the change for #2572 this version can now have this exception, and since it's intended to be hidden within the lexer and input source classes, we need to convert it. doc/tests are also added/updated.
* [2572] small doc updateJINMEI Tatuya2013-01-111-3/+4
|
* [2572] fixed a typo: push vs popJINMEI Tatuya2013-01-111-1/+1
|
* [2572] introduced a special source size of "unknown".JINMEI Tatuya2013-01-111-0/+16
| | | | | this will help handle special cases like using the lexer with stdin associated with a pipe.
* [2572] clarified that istream source must be complete on pushSource.JINMEI Tatuya2013-01-101-0/+4
|
* [2572] added MasterLexer::getPosition().JINMEI Tatuya2013-01-101-0/+28
|
* [2572] added MasterLexer::getTotalSourceSize().JINMEI Tatuya2013-01-101-0/+16
|
* [2427] Find INITIAL_WS even at the beginning of fileMichal 'vorner' Vaner2012-12-171-1/+2
|
* Merge #2428Michal 'vorner' Vaner2012-12-141-0/+5
|\ | | | | | | | | | | | | $INCLUDE handling in the isc::dns::MasterLoader Conflicts: src/lib/dns/master_loader.cc
| * [2428] Interface to get count of sources in lexerMichal 'vorner' Vaner2012-12-131-0/+5
| | | | | | | | And use it in the master loader, instead of keeping it separately there.
* | [master] update the doc for MasterToken::StringRegion to match the latest code.JINMEI Tatuya2012-12-121-2/+1
|/ | | | | | | | the removed part was obsolete due to a later change (which is described in the next paragraph of the doc). keeping the sentence will just confuse readers. should be trivial enough, so I'm committing this at my discretion.
* [2382] unrelated fix to lexer: support empty qstring and nul termination.JINMEI Tatuya2012-12-011-0/+7
| | | | | | an empty qstring previously caused an exception, which is a clear bug and should be fixed. nul-terminating string regions is an extension, but I found it useful when implementing RDATA parsers.
* [2506] (unrelated) cleanup: define ReadError as a class, not a struct.JINMEI Tatuya2012-11-291-1/+2
| | | | | | | | | for consistency; it's awkward to see it as a struct while LexerError as a .class. The choice is basically a matter of taste, but I personally think it's better to be defined as a class as its base is defined as a class, and these exception structs are not just a trivial set of values.
* [2506] documentation updateJINMEI Tatuya2012-11-291-0/+74
|
* [2506] handled the case a number is expected but not foundJINMEI Tatuya2012-11-291-0/+1
|
* [2506] added another version of getNextToken, basic partJINMEI Tatuya2012-11-291-0/+12
|
* [2506] rename: MasterLexer::Token to MasterToken.JINMEI Tatuya2012-11-291-224/+222
| | | | | it's a kind of hack for the convenience of the planned change of this branch, but the revised name doesn't seem really bad anyway.
* [2374] Some last cleanupsJelte Jansen2012-11-291-1/+1
| | | | | | - reduced a line that was 1 character too long - flipped order of check with isdigit() - renamed Token::NUMBER_RANGE to Token::NUMBER_OUT_OF_RANGE
* [master] Fix overflow catching in number lexer stateJelte Jansen2012-11-271-0/+1
|
* [2375] Eliminate fake statesMichal 'vorner' Vaner2012-11-221-8/+0
|
* [2375] Return a reference to the tokenMichal 'vorner' Vaner2012-11-221-1/+1
| | | | The copy is shallow anyway, so it wouldn't survive for long.
* [2375] Remove exception handling from getNextTokenMichal 'vorner' Vaner2012-11-221-5/+5
| | | | | It was deemed unneeded and is removed therefore, to make the code smaller.
* [2375] grammar/typo fixes in comments/docJINMEI Tatuya2012-11-201-1/+1
|
* [2375] Don't restore internal token on ungetTokenMichal 'vorner' Vaner2012-11-191-1/+4
| | | | | | | It was not safe, because it may refer to some data elsewhere. Luckily, it seems it is not needed anyway, since the only way that a token can get out of the lexer is through the getNextToken, which would get a new one, and through a testing method not meant for public use.
* [2375] Don't propagate exceptions from internal namespaceMichal 'vorner' Vaner2012-11-191-3/+10
| | | | | Move the ReadError exception into the MasterLexer. That way, it is in public namespace, so people can expect to see it.
* [2375] Provide weak exception guaranteeMichal 'vorner' Vaner2012-11-191-0/+9
|
* [2375] Add a test a token is actually producedMichal 'vorner' Vaner2012-11-191-1/+3
| | | | | | This is a debug test. It checks the state machine produced a token. There are no tests for this test, since such condition would be a programmer error, not something expected.
* [2375] Implement basic getNextTokenMichal 'vorner' Vaner2012-11-191-1/+1
| | | | No error handling, no special cases, no returning.
* [2375] Tests for simple versions of getTokenMichal 'vorner' Vaner2012-11-191-0/+8
| | | | | No fancy stuff yet, like ungetting tokens, changes of parentheses count, etc. Just the basic stuff.
* [2375] getNextToken() and ungetNextToken() interface.Michal 'vorner' Vaner2012-11-191-0/+35
| | | | | With doxygen description of what it should do and empty method bodies, so the tests in following commits will at least compile.
* [2373] unrelated extension to getString(): allow recycling the stringJINMEI Tatuya2012-11-151-2/+24
| | | | | | I expect we'll need the string object version of token pretty often for rrtype and TTL, and this version will help make it a bit more efficient.
* [2373] (unrelated doc fix) corrected "optionality" of token typeJINMEI Tatuya2012-11-151-3/+3
| | | | | EOL/EOF will be always returned if found; INTIAL_WS will be returned only specified in option
* [master] Merge branch 'trac2372'JINMEI Tatuya2012-11-131-1/+28
|\
| * [2372] clarified that INITIAL_WS is recognized only after an EOL.JINMEI Tatuya2012-11-131-3/+5
| |
| * [2372] use specific constatnt values for Options instead of using the << trickJINMEI Tatuya2012-11-121-4/+8
| | | | | | | | | | | | the previous code doesn't seem to be understandable as I thought, so I simplfy revert to the more straightforward way. also added doc for the enum
| * [2372] simplification: we actually don't need END_OF_LINE option.JINMEI Tatuya2012-11-061-3/+1
| | | | | | | | it can be completely local in Start::handle().
| * [2372] initial parentheses supportJINMEI Tatuya2012-11-021-0/+12
| |
| * [2372] handled spaces.JINMEI Tatuya2012-11-021-0/+7
| | | | | | | | | | handle() signature was extended so it can refer to and update lexer options.
| * [2372] lexer state classes, some initial defs and testsJINMEI Tatuya2012-11-021-0/+4
| | | | | | | | | | Fixing merge conflicts: src/lib/dns/master_lexer.cc
* | [2371] added notes about the two mode of error handling: retval and exception.JINMEI Tatuya2012-11-051-0/+26
|/
* [2371] catch an error in opening a source file and gives feedback to caller.JINMEI Tatuya2012-11-021-2/+12
|
* [2371] renamed open/close() {push,pop}Source() as suggested in review.JINMEI Tatuya2012-11-021-14/+15
|
* [2371] fixed a trivial description error in docJINMEI Tatuya2012-11-021-2/+1
|
* [2371] doc wording update as suggested in reviewJINMEI Tatuya2012-11-021-1/+1
|