... | ... | @@ -2,7 +2,7 @@ Comma-Separated Values |
|
|
======================
|
|
|
|
|
|
This example shows a simple parser for comma-separated values. The
|
|
|
input text consists of one or more lines, and each line contains a
|
|
|
input text consists of zero or more lines, and each line contains a
|
|
|
series of cells (values) separated by commas. The result of the CSV
|
|
|
parser is an array of arrays (matrix) containing the cell values as
|
|
|
strings.
|
... | ... | @@ -10,14 +10,15 @@ strings. |
|
|
For simplicity, we assume the values themselves can contain neither
|
|
|
commas nor end-of-line characters. Also, the parser only handles
|
|
|
Unix-style line breaks (`'\n'`). Generalizing the parser to handle
|
|
|
these corner cases is left as an exercise.
|
|
|
quoting and/or escapes, or alternative end-of-line markers, is left as
|
|
|
an exercise.
|
|
|
|
|
|
First, import the _Comparse_ library.
|
|
|
|
|
|
P = require('../lib/comparse')
|
|
|
|
|
|
This is the parser for a single cell (zero or more characters except
|
|
|
comma or `'\n'`).
|
|
|
comma or `'\n'`):
|
|
|
|
|
|
cell = P.noneOf(',\n').concat()
|
|
|
|
... | ... | |