| #!/bin/sh | |
| set -e | |
| out=$GOROOT/src/regexp/syntax/doc.go | |
| cp syntax.txt $out | |
| sam -d $out <<'!' | |
| ,x g/NOT SUPPORTED/d | |
| /^Unicode character class/,$d | |
| ,s/[«»]//g | |
| ,x g/^Possessive repetitions:/d | |
| ,x g/\\C/d | |
| ,x g/Flag syntax/d | |
| ,s/.=(true|false)/flag &/g | |
| ,s/^Flags:/ Flag syntax is xyz (set) or -xyz (clear) or xy-z (set xy, clear z). The flags are:\n/ | |
| ,s/\n\n\n+/\n\n/g | |
| ,x/(^.* .*\n)+/ | awk -F' ' '{printf(" %-14s %s\n", $1, $2)}' | |
| 1,2c | |
| // Copyright 2012 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| // Code generated by mksyntaxgo from the RE2 distribution. DO NOT EDIT. | |
| /* | |
| Package syntax parses regular expressions into parse trees and compiles | |
| parse trees into programs. Most clients of regular expressions will use the | |
| facilities of package [regexp] (such as [regexp.Compile] and [regexp.Match]) instead of this package. | |
| # Syntax | |
| The regular expression syntax understood by this package when parsing with the [Perl] flag is as follows. | |
| Parts of the syntax can be disabled by passing alternate flags to [Parse]. | |
| . | |
| $a | |
| Unicode character classes are those in [unicode.Categories] and [unicode.Scripts]. | |
| */ | |
| package syntax | |
| . | |
| w | |
| q | |
| ! |