Commit Graph

69 Commits

Author SHA1 Message Date
Tyler Dauwalder
fe70cd16af + Updated all the parsing code to use std::strings everywhere
instead of const char*'s to allow for rules with NULL characters
  embedded in them.
+ Updated Rule::Sniff() to actually return a useful value


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 10:30:38 +00:00
Tyler Dauwalder
60ee71d302 + Added some documentation
+ Fixed a bug with 0eXXX floats being handled improperly
+ Updated a few error messages to give proper character
  stream positions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:23:24 +00:00
Tyler Dauwalder
0bc621d53b + Added some documentation
+ Now verifies the given priority is valid


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:21:31 +00:00
Tyler Dauwalder
10db8711a8 Added some documentation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:20:47 +00:00
Tyler Dauwalder
390dce8da6 Parser is finished (or very nearly so)!!! :-)
+ Added support for extended notation floating point numbers,
as well as signed (+ and -) floats.
+ Finished up parsing code
+ Moved Err class into it's own header/source pair, since I
started using it all over the place in the sniffer code.
+ Did my darndest to make sure I wasn't leaking memory
anywhere.
+ Matched up error messages as best as possible with R5's
error message. Some couldn't be matched, some were improved.

There *are* a few things left to do. I don't think priorities are
verified to be valid (0.0 <= x <= 1.0). More tests also need to
be written. Things have solidified enough now that documentation
is a reasonable thing to start considering as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:37:14 +00:00
Tyler Dauwalder
01293d6ed7 + Added InitCheck()
+ Added Priority()
+ Added Sniff()
+ Replaced ExprList typedef with plain old std::vector<Expr*>
so I wouldn't forget what the hell kind of list I was working with.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:32:27 +00:00
Tyler Dauwalder
9d97f52d8d Added InitCheck() and GetErr()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:30:44 +00:00
Tyler Dauwalder
a60032821f Updated the Sniff() function to take a BPositionIO instead of BFile.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:28:36 +00:00
Tyler Dauwalder
74cd43ec44 New mime sniffer support classes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:25:41 +00:00
Tyler Dauwalder
68faee1082 + Switched to std::vector in favor of BList
+ Added a few minor tweaks


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:03:23 +00:00
Tyler Dauwalder
4574a75fc5 + Got rid of global TokenStream object
+ Started on Parser class
+ Moved parsing functions into Parser class
+ Added Pos() member to Err class to allow for
snazzy BMimeType::CheckSnifferRule() error strings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:01:56 +00:00
Tyler Dauwalder
0be1fe8a1f New MIME Sniffer files
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 06:57:11 +00:00
Tyler Dauwalder
224e92720e Added "position in original character stream" marker to Token class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 04:13:30 +00:00
Tyler Dauwalder
5da549240a + Moved internally used classes into header to allow for testing.
+ Added EmptyToken, Integer, and FloatingPoint TokenTypes.
+ Added IntToken and IntegerToken classes.
+ Updated scanner, which now handles numbers as well. I believe
it's nearly complete, although I'm almost positive it doesn't
handle octals correctly yet...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 19:24:05 +00:00
Tyler Dauwalder
674e18fb18 Initial MIME sniffer rule parser checkin. The first draft of the
scanner portion of the parser is done, but completely untested
and unused. More to come...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 07:47:07 +00:00
Tyler Dauwalder
5ebee1cf0a BVolume and BVolumeRoster updates, courtesty of Vincent Dominguez
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:39:49 +00:00
Ingo Weinhold
64f6603fbe Include the official DataIO.h rather than MallocIO.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@26 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 01:59:18 +00:00
Ingo Weinhold
232067ccbb Moved StorageDefs.Private.h to the public headers. Strange, but it is needed by them.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@21 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 01:47:48 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00