Commit graph

21 commits

Author SHA1 Message Date
Jesse Beder
c1966ba3fc Renamed the stream member functions get() and eat(). 2008-06-30 22:34:10 +00:00
Jesse Beder
852e5b63e5 Instead of deriving different tokens from a base Token class, we now use an enumerated TOKEN_TYPE to distinguish types. This is so we don't have to cast all the time when parsing the resulting token stream.
Also, removed start/end stream tokens.
2008-06-30 21:47:21 +00:00
Jesse Beder
ed6c294749 Added a peek token command (for the parser to use). 2008-06-30 06:21:12 +00:00
Jesse Beder
07d4cac48f Added directives and tags. 2008-06-30 04:22:41 +00:00
Jesse Beder
5f8252ee6f Moved scalar scanning-related parameters to a struct.
Renamed the valid/possible tokens to a single variable status with enums valid, invalid, and unverified.
2008-06-29 17:39:33 +00:00
Jesse Beder
ff99f85a6d Moved the input stream, together with line/column info, into its own class, which allowed some other stuff just to pass the stream, and not have to be a member of Scanner. 2008-06-29 06:32:13 +00:00
Jesse Beder
d076252dff 2008-06-29 00:33:34 +00:00
Jesse Beder
2e27c5d9c3 Small refactoring. 2008-06-28 22:05:51 +00:00
Jesse Beder
43ea59a4ed Added folded and literal scalars. 2008-06-28 20:08:21 +00:00
Jesse Beder
01ef70a6f9 Fixed complex keys. 2008-06-28 17:32:10 +00:00
Jesse Beder
c63ebbd878 Moved the simple key validation to before each token scan (plus at newlines of scalars). 2008-06-28 16:46:37 +00:00
Jesse Beder
11706abbb7 Added simple keys.
There's a bug (and question): should we test simple keys' validity BEFORE stuff or AFTER stuff?
2008-06-28 06:36:59 +00:00
Jesse Beder
49a75b2d78 Added quoted scalars (with escaping).
Refactored some common whitespace-parsing code in scanning both scalars.
Implemented the flow collection tokens.
2008-06-27 23:11:46 +00:00
Jesse Beder
a224c7818b Small plain scalar scanning fixes. 2008-06-27 20:54:43 +00:00
Jesse Beder
8fca02fb2a Split off the specific regular expressions, and the specialized token-scanning functions, into their own files. 2008-06-27 19:13:03 +00:00
Jesse Beder
de29068110 Added stream input to the regular expressions, greatly simplifying the usage (in particular, we no longer have to specify the number of characters to be checked). 2008-06-27 19:07:30 +00:00
Jesse Beder
4e435b1321 Wrote a simplified regular expression parser to make life easier (it only does single matches; i.e., no one-or-more matches, etc.).
Fixed some of the whitespace/line break matching.
2008-06-27 08:20:41 +00:00
Jesse Beder
873dbc2421 The plain scalar scanner is almost done (and it scans a simple list correctly).
Also messed around with multiple character peeking on the input, and got something working.
2008-06-27 00:18:52 +00:00
Jesse Beder
31f7db5a0d More simple scalar scanning. 2008-06-26 22:00:39 +00:00
Jesse Beder
a3961d047f Continued working on scanner.
We're now using exceptions for errors, and scanning/pushing tokens is exception-safe (using a set of "limbo tokens").
2008-06-26 19:30:11 +00:00
Jesse Beder
8ae7b48188 Started the scanner. 2008-06-26 09:05:28 +00:00