7 changed files with 1121 additions and 655 deletions
@ -0,0 +1,14 @@ |
|||
"use strict"; |
|||
|
|||
const fs = require("fs"); |
|||
const path = require("path"); |
|||
const util = require("util"); |
|||
|
|||
const generate = require("../").generate; |
|||
const parser = require("../lib/parser"); |
|||
|
|||
let grammar = fs.readFileSync(path.join(__dirname, "test.pegjs"), { encoding: "utf-8" }); |
|||
// let parseResult = parser.parse(grammar);
|
|||
let parseResult = generate(grammar); |
|||
|
|||
console.log(util.inspect(parseResult, { depth: null, colors: true })); |
@ -0,0 +1,5 @@ |
|||
import Foo from "./util.pegjs" |
|||
import { CommaDelimited as DelimitedNumber } from "./delimited-number" |
|||
|
|||
TopLevelRule |
|||
= "hello" |
File diff suppressed because one or more lines are too long
@ -0,0 +1,52 @@ |
|||
Import syntax |
|||
|
|||
import Foo from packagename |
|||
import { Foo, Bar } from ./util |
|||
import { Foo as Bar, Baz, Qux } from ../quz |
|||
|
|||
|
|||
need to mangle identifiers declared in the initializer! |
|||
|
|||
=========== |
|||
|
|||
Benchmark before internals changes (best of 3): |
|||
|
|||
$ yarn benchmark |
|||
yarn run v1.21.1 |
|||
$ node benchmark/run |
|||
┌─────────────────────────────────────┬───────────┬────────────┬──────────────┐ |
|||
│ Test │ Inp. size │ Avg. time │ Avg. speed │ |
|||
├─────────────────────────────────────┴───────────┴────────────┴──────────────┤ |
|||
│ JSON │ |
|||
├─────────────────────────────────────┬───────────┬────────────┬──────────────┤ |
|||
│ Example 1 │ 0.69 kB │ 0.40 ms │ 1723.63 kB/s │ |
|||
│ Example 2 │ 0.24 kB │ 0.10 ms │ 2363.28 kB/s │ |
|||
│ Example 3 │ 0.59 kB │ 0.40 ms │ 1474.61 kB/s │ |
|||
│ Example 4 │ 3.39 kB │ 0.90 ms │ 3763.02 kB/s │ |
|||
│ Example 5 │ 0.85 kB │ 0.20 ms │ 4262.70 kB/s │ |
|||
├─────────────────────────────────────┼───────────┼────────────┼──────────────┤ |
|||
│ JSON total │ 5.75 kB │ 2.00 ms │ 2877.44 kB/s │ |
|||
├─────────────────────────────────────┴───────────┴────────────┴──────────────┤ |
|||
│ CSS │ |
|||
├─────────────────────────────────────┬───────────┬────────────┬──────────────┤ |
|||
│ Blueprint - reset.css (source) │ 1.20 kB │ 3.00 ms │ 401.04 kB/s │ |
|||
│ Blueprint - typography.css (source) │ 3.11 kB │ 5.00 ms │ 621.48 kB/s │ |
|||
│ Blueprint - forms.css (source) │ 1.79 kB │ 2.00 ms │ 896.00 kB/s │ |
|||
│ Blueprint - grid.css (source) │ 9.54 kB │ 6.50 ms │ 1467.25 kB/s │ |
|||
│ Blueprint - print.css (source) │ 1.78 kB │ 1.10 ms │ 1621.09 kB/s │ |
|||
│ Blueprint - screen.css (minified) │ 11.83 kB │ 8.00 ms │ 1478.64 kB/s │ |
|||
│ Blueprint - print.css (minified) │ 1.25 kB │ 0.60 ms │ 2089.84 kB/s │ |
|||
│ 960.gs - reset.css (source) │ 0.99 kB │ 0.50 ms │ 1980.47 kB/s │ |
|||
│ 960.gs - text.css (source) │ 0.97 kB │ 0.40 ms │ 2426.76 kB/s │ |
|||
│ 960.gs - 960.css (source) │ 8.94 kB │ 3.00 ms │ 2979.49 kB/s │ |
|||
│ 960.gs - 960_24_col.css (source) │ 7.48 kB │ 2.60 ms │ 2877.85 kB/s │ |
|||
│ 960.gs - reset.css (minified) │ 0.63 kB │ 0.50 ms │ 1265.63 kB/s │ |
|||
│ 960.gs - text.css (minified) │ 0.41 kB │ 0.40 ms │ 1020.51 kB/s │ |
|||
│ 960.gs - 960.css (minified) │ 5.21 kB │ 2.60 ms │ 2004.21 kB/s │ |
|||
│ 960.gs - 960_24_col.css (minified) │ 4.94 kB │ 2.40 ms │ 2057.70 kB/s │ |
|||
├─────────────────────────────────────┼───────────┼────────────┼──────────────┤ |
|||
│ CSS total │ 60.08 kB │ 38.60 ms │ 1556.43 kB/s │ |
|||
├─────────────────────────────────────┼───────────┼────────────┼──────────────┤ |
|||
│ Total │ 65.83 kB │ 40.60 ms │ 1621.50 kB/s │ |
|||
└─────────────────────────────────────┴───────────┴────────────┴──────────────┘ |
|||
Done in 0.60s. |
Loading…
Reference in new issue