| #!/bin/sh | 
 |  | 
 | set -e | 
 | out=$GOROOT/src/pkg/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. | 
 |  | 
 | // DO NOT EDIT. This file is generated by mksyntaxgo from the RE2 distribution. | 
 |  | 
 | /* | 
 | 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 Compile and 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 | 
 | */ | 
 | package syntax | 
 | . | 
 | w | 
 | q | 
 | ! |