mirror of
https://github.com/fluencelabs/lalrpop
synced 2025-03-16 17:00:53 +00:00
Merge pull request #216 from nikomatsakis/release-0.13.0
Release 0.13.0
This commit is contained in:
commit
2d3de75fcf
39
RELEASES.md
39
RELEASES.md
@ -1,4 +1,41 @@
|
||||
# master (not yet released)
|
||||
# Version 0.13
|
||||
|
||||
This is a bug release for LALRPOP. First, we have two major improvements to the
|
||||
generated lexer:
|
||||
|
||||
- The lexer now generates code that uses the `regex` crate. This
|
||||
results in **far** less code than the older style, and seems to
|
||||
preserve performance.
|
||||
- The lexer now supports custom priorities for regular expression tokens,
|
||||
making it possible to support case-insensitive keywords.
|
||||
- See the [calculator2b example] for details.
|
||||
|
||||
Second, we have a **beta release** of the new lane-table based
|
||||
LR-table generation. Lane tables handle the full set of LR(1)
|
||||
grammars but typically reduce **much** smaller state tables. This
|
||||
feature eliminates the need to manually mark grammars as `#[LALR]`.
|
||||
Lane tables are **not** on by default; you can enable them by setting
|
||||
`LALRPOP_LANE_TABLE=enabled` in your environment (use
|
||||
`std::env::set_var` in your `build.rs`).
|
||||
|
||||
[calculator2b example]: https://github.com/nikomatsakis/lalrpop/blob/master/doc/tutorial.md#calculator2b
|
||||
|
||||
Finally, the `lalrpop` executable now has the ability to generate
|
||||
standalone reports (`--report`).
|
||||
|
||||
Fixed bugs:
|
||||
|
||||
- Fix #157: We now recognize single quote (`'`) properly in our tokenizer.
|
||||
- Fix #179: Fix bug in recursive ascent code generation.
|
||||
|
||||
Thanks to the following contributors to this release:
|
||||
|
||||
- @ahmedcharles
|
||||
- @king6cong
|
||||
- @nikomatsakis
|
||||
- @nixpulvis
|
||||
- @wagenet
|
||||
- @wieczyk
|
||||
|
||||
# Version 0.12.5
|
||||
|
||||
|
@ -1,17 +1,17 @@
|
||||
[package]
|
||||
name = "calculator"
|
||||
version = "0.12.5"
|
||||
version = "0.13.0"
|
||||
authors = ["Niko Matsakis <niko@alum.mit.edu>"]
|
||||
build = "build.rs" # <-- We added this and everything after!
|
||||
workspace = "../.."
|
||||
|
||||
[build-dependencies.lalrpop]
|
||||
version = "0.12.5"
|
||||
version = "0.13.0"
|
||||
path = "../../lalrpop"
|
||||
|
||||
[dependencies]
|
||||
regex = "0.2.1"
|
||||
|
||||
[dependencies.lalrpop-util]
|
||||
version = "0.12.5"
|
||||
version = "0.13.0"
|
||||
path = "../../lalrpop-util"
|
||||
|
@ -9,6 +9,9 @@ path = "../../../lalrpop"
|
||||
|
||||
[dependencies]
|
||||
docopt = "0.7"
|
||||
lalrpop-util = { version = "0.12.5", path = "../../../lalrpop-util" }
|
||||
rustc-serialize = "0.3"
|
||||
regex = "0.2.1"
|
||||
|
||||
[dependencies.lalrpop-util]
|
||||
version = "0.13.0"
|
||||
path = "../../../lalrpop-util"
|
||||
|
@ -1,13 +1,13 @@
|
||||
[package]
|
||||
name = "whitespace"
|
||||
version = "0.12.5"
|
||||
version = "0.13.0"
|
||||
authors = ["Mako <jlauve@rsmw.net>"]
|
||||
build = "build.rs"
|
||||
|
||||
[build-dependencies.lalrpop]
|
||||
version = "0.12.5"
|
||||
version = "0.13.0"
|
||||
path = "../../lalrpop"
|
||||
|
||||
[dependencies.lalrpop-util]
|
||||
version = "0.12.5"
|
||||
version = "0.13.0"
|
||||
path = "../../lalrpop-util"
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "lalrpop-intern"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
description = "Simple string interner used by LALRPOP"
|
||||
repository = "https://github.com/nikomatsakis/lalrpop"
|
||||
license = "Apache-2.0/MIT"
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "lalrpop-snap"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
description = "snapshot of LALRPOP for use in bootstrapping"
|
||||
repository = "https://github.com/nikomatsakis/lalrpop"
|
||||
license = "Apache-2.0/MIT"
|
||||
@ -30,8 +30,8 @@ rand = "0.3"
|
||||
|
||||
[dependencies.lalrpop-util]
|
||||
path = "../lalrpop-util"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
|
||||
[dependencies.lalrpop-intern]
|
||||
path = "../lalrpop-intern"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "lalrpop-test"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
authors = ["Niko Matsakis <niko@alum.mit.edu>"]
|
||||
license = "Apache-2.0/MIT"
|
||||
build = "build.rs"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,6 +3,6 @@ name = "lalrpop-util"
|
||||
description = "Runtime library for parsers generated by LALRPOP"
|
||||
repository = "https://github.com/nikomatsakis/lalrpop"
|
||||
license = "Apache-2.0/MIT"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
authors = ["Niko Matsakis <niko@alum.mit.edu>"]
|
||||
workspace = ".."
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "lalrpop"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
description = "convenient LR(1) parser generator"
|
||||
repository = "https://github.com/nikomatsakis/lalrpop"
|
||||
readme = "../README.md"
|
||||
@ -33,12 +33,12 @@ rand = "0.3"
|
||||
|
||||
[dependencies.lalrpop-util]
|
||||
path = "../lalrpop-util"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
|
||||
[dependencies.lalrpop-intern]
|
||||
path = "../lalrpop-intern"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
|
||||
[build-dependencies.lalrpop-snap]
|
||||
path = "../lalrpop-snap"
|
||||
version = "0.12.5" # LALRPOP
|
||||
version = "0.13.0" # LALRPOP
|
||||
|
18
version.sh
18
version.sh
@ -8,5 +8,23 @@ if [ "$1" == "" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION=$(
|
||||
ls lalrpop*/Cargo.toml | \
|
||||
xargs grep "# LALRPOP$" | \
|
||||
perl -p -e 's/.*version = "([0-9.]+)" # LALRPOP$/$1/' |
|
||||
sort |
|
||||
uniq)
|
||||
|
||||
if [ $(echo $VERSION | wc -w) != 1 ]; then
|
||||
echo "Error: inconsistent versions detected across Cargo.toml files!"
|
||||
echo "$VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Found consistent version $VERSION"
|
||||
|
||||
perl -p -i -e 's/version *= *"[0-9.]+" # LALRPOP$/version = "'$1'" # LALRPOP/' \
|
||||
$(ls lalrpop*/Cargo.toml)
|
||||
|
||||
perl -p -i -e 's/version *= *"'$VERSION'"$/version = "'$1'"/' \
|
||||
$(find doc -name Cargo.toml)
|
||||
|
Loading…
x
Reference in New Issue
Block a user