Support import syntax
parent
1431320019
commit
1d3a57d256
@ -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