aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralandonovan <adonovan@google.com>2017-10-17 15:20:32 -0400
committerGitHub <noreply@github.com>2017-10-17 15:20:32 -0400
commit5ce1e42319f24a6f5f0c16508f502bf6144511d6 (patch)
tree5673d7601dfb1e5462f1137fd777a85a7fb979e7
parent25a152db3440891960758ed4d9d5b0fdf308d4ba (diff)
downloadstarlark-go-5ce1e42319f24a6f5f0c16508f502bf6144511d6.tar.gz
doc comments: refer to specification of Skylark, not Bazel or Python (#26)
-rw-r--r--eval.go2
-rw-r--r--library.go149
-rw-r--r--syntax/parse.go2
-rw-r--r--syntax/scan.go6
-rw-r--r--value.go3
5 files changed, 80 insertions, 82 deletions
diff --git a/eval.go b/eval.go
index e7e1ebb..867feea 100644
--- a/eval.go
+++ b/eval.go
@@ -1865,7 +1865,7 @@ func (is *intset) len() int {
return len(is.large)
}
-// See https://docs.python.org/2/library/stdtypes.html#string-formatting.
+// https://github.com/google/skylark/blob/master/doc/spec.md#string-interpolation
func interpolate(format string, x Value) (Value, error) {
var buf bytes.Buffer
path := make([]Value, 0, 4)
diff --git a/library.go b/library.go
index fcd857c..f2cc77c 100644
--- a/library.go
+++ b/library.go
@@ -34,7 +34,7 @@ import (
var Universe StringDict
func init() {
- // See https://bazel.build/versions/master/docs/skylark/lib/globals.html#XYZ
+ // https://github.com/google/skylark/blob/master/doc/spec.md#built-in-constants-and-functions
Universe = StringDict{
"None": None,
"True": True,
@@ -74,8 +74,8 @@ func init() {
type builtinMethod func(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error)
// methods of built-in types
+// https://github.com/google/skylark/blob/master/doc/spec.md#built-in-methods
var (
- // See https://bazel.build/versions/master/docs/skylark/lib/dict.html.
dictMethods = map[string]builtinMethod{
"clear": dict_clear,
"get": dict_get,
@@ -88,7 +88,6 @@ var (
"values": dict_values,
}
- // See https://bazel.build/versions/master/docs/skylark/lib/list.html.
listMethods = map[string]builtinMethod{
"append": list_append,
"clear": list_clear,
@@ -99,7 +98,6 @@ var (
"remove": list_remove,
}
- // See https://bazel.build/versions/master/docs/skylark/lib/string.html.
stringMethods = map[string]builtinMethod{
"bytes": string_iterable,
"capitalize": string_capitalize,
@@ -136,7 +134,6 @@ var (
"upper": string_upper,
}
- // See https://bazel.build/versions/master/docs/skylark/lib/set.html.
setMethods = map[string]builtinMethod{
"union": set_union,
}
@@ -343,7 +340,7 @@ func unpackOneArg(v Value, ptr interface{}) error {
// ---- builtin functions ----
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#all
+// https://github.com/google/skylark/blob/master/doc/spec.md#all
func all(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var iterable Iterable
if err := UnpackPositionalArgs("all", args, kwargs, 1, &iterable); err != nil {
@@ -360,7 +357,7 @@ func all(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return True, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#any
+// https://github.com/google/skylark/blob/master/doc/spec.md#any
func any(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var iterable Iterable
if err := UnpackPositionalArgs("all", args, kwargs, 1, &iterable); err != nil {
@@ -377,7 +374,7 @@ func any(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return False, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#bool
+// https://github.com/google/skylark/blob/master/doc/spec.md#bool
func bool_(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var x Value = False
if err := UnpackPositionalArgs("bool", args, kwargs, 0, &x); err != nil {
@@ -406,7 +403,7 @@ func chr(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return String(string(i)), nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#cmp
+// https://github.com/google/skylark/blob/master/doc/spec.md#cmp
func cmp(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
if len(kwargs) > 0 {
return nil, fmt.Errorf("cmp does not accept keyword arguments")
@@ -429,7 +426,7 @@ func cmp(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return zero, nil // x == y or one of the operands is NaN
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#dict
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict
func dict(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
if len(args) > 1 {
return nil, fmt.Errorf("dict: got %d arguments, want at most 1", len(args))
@@ -441,7 +438,7 @@ func dict(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return dict, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#dir
+// https://github.com/google/skylark/blob/master/doc/spec.md#dir
func dir(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
if len(kwargs) > 0 {
return nil, fmt.Errorf("dir does not accept keyword arguments")
@@ -461,7 +458,7 @@ func dir(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return NewList(elems), nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#enumerate
+// https://github.com/google/skylark/blob/master/doc/spec.md#enumerate
func enumerate(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var iterable Iterable
var start int
@@ -543,7 +540,7 @@ func freeze(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, erro
return args[0], nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#getattr
+// https://github.com/google/skylark/blob/master/doc/spec.md#getattr
func getattr(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var object, dflt Value
var name string
@@ -561,7 +558,7 @@ func getattr(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, err
return nil, fmt.Errorf("%s has no .%s field or method", object.Type(), name)
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#hasattr
+// https://github.com/google/skylark/blob/master/doc/spec.md#hasattr
func hasattr(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var object Value
var name string
@@ -576,7 +573,7 @@ func hasattr(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, err
return False, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#hash
+// https://github.com/google/skylark/blob/master/doc/spec.md#hash
func hash(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var x Value
if err := UnpackPositionalArgs("hash", args, kwargs, 1, &x); err != nil {
@@ -586,7 +583,7 @@ func hash(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return MakeUint(uint(h)), err
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#int
+// https://github.com/google/skylark/blob/master/doc/spec.md#int
func int_(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var x Value = zero
var base Value
@@ -675,7 +672,7 @@ func int_(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return i, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#len
+// https://github.com/google/skylark/blob/master/doc/spec.md#len
func len_(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var x Value
if err := UnpackPositionalArgs("len", args, kwargs, 1, &x); err != nil {
@@ -688,7 +685,7 @@ func len_(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return MakeInt(len), nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#list
+// https://github.com/google/skylark/blob/master/doc/spec.md#list
func list(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var iterable Iterable
if err := UnpackPositionalArgs("list", args, kwargs, 0, &iterable); err != nil {
@@ -709,7 +706,7 @@ func list(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return NewList(elems), nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#min
+// https://github.com/google/skylark/blob/master/doc/spec.md#min
func minmax(thread *Thread, fn *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
if len(args) == 0 {
return nil, fmt.Errorf("%s requires at least one positional argument", fn.Name())
@@ -796,7 +793,7 @@ func ord(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return MakeInt(int(r)), nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#print
+// https://github.com/google/skylark/blob/master/doc/spec.md#print
func print(thread *Thread, fn *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var buf bytes.Buffer
path := make([]Value, 0, 4)
@@ -830,7 +827,7 @@ func print(thread *Thread, fn *Builtin, args Tuple, kwargs []Tuple) (Value, erro
return None, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#range
+// https://github.com/google/skylark/blob/master/doc/spec.md#range
func range_(thread *Thread, fn *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var start, stop, step int
step = 1
@@ -866,7 +863,7 @@ func range_(thread *Thread, fn *Builtin, args Tuple, kwargs []Tuple) (Value, err
return list, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#repr
+// https://github.com/google/skylark/blob/master/doc/spec.md#repr
func repr(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var x Value
if err := UnpackPositionalArgs("repr", args, kwargs, 1, &x); err != nil {
@@ -875,7 +872,7 @@ func repr(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return String(x.String()), nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#reversed.
+// https://github.com/google/skylark/blob/master/doc/spec.md#reversed
func reversed(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var iterable Iterable
if err := UnpackPositionalArgs("reversed", args, kwargs, 1, &iterable); err != nil {
@@ -898,7 +895,7 @@ func reversed(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, er
return NewList(elems), nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#set
+// https://github.com/google/skylark/blob/master/doc/spec.md#set
func set(thread *Thread, fn *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var iterable Iterable
if err := UnpackPositionalArgs("set", args, kwargs, 0, &iterable); err != nil {
@@ -918,7 +915,7 @@ func set(thread *Thread, fn *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return set, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#sorted
+// https://github.com/google/skylark/blob/master/doc/spec.md#sorted
func sorted(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var iterable Iterable
var cmp Callable
@@ -981,7 +978,7 @@ func (s *sortSlice) Swap(i, j int) {
s.elems[i], s.elems[j] = s.elems[j], s.elems[i]
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#str
+// https://github.com/google/skylark/blob/master/doc/spec.md#str
func str(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
if len(kwargs) > 0 {
return nil, fmt.Errorf("str does not accept keyword arguments")
@@ -996,7 +993,7 @@ func str(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
return x, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#tuple
+// https://github.com/google/skylark/blob/master/doc/spec.md#tuple
func tuple(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
var iterable Iterable
if err := UnpackPositionalArgs("tuple", args, kwargs, 0, &iterable); err != nil {
@@ -1018,7 +1015,7 @@ func tuple(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error
return elems, nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#type
+// https://github.com/google/skylark/blob/master/doc/spec.md#type
func type_(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
if len(kwargs) > 0 {
return nil, fmt.Errorf("type does not accept keyword arguments")
@@ -1029,7 +1026,7 @@ func type_(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error
return String(args[0].Type()), nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/globals.html#zip
+// https://github.com/google/skylark/blob/master/doc/spec.md#zip
func zip(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error) {
if len(kwargs) > 0 {
return nil, fmt.Errorf("zip does not accept keyword arguments")
@@ -1073,7 +1070,7 @@ func zip(thread *Thread, _ *Builtin, args Tuple, kwargs []Tuple) (Value, error)
// ---- methods of built-in types ---
-// https://docs.python.org/2/library/stdtypes.html#dict.get
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict·get
func dict_get(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
var key, dflt Value
if err := UnpackPositionalArgs(fnname, args, kwargs, 1, &key, &dflt); err != nil {
@@ -1089,7 +1086,7 @@ func dict_get(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, err
return None, nil
}
-// https://docs.python.org/2/library/stdtypes.html#dict.clear
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict·clear
func dict_clear(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1097,7 +1094,7 @@ func dict_clear(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, e
return None, recv.(*Dict).Clear()
}
-// https://docs.python.org/2/library/stdtypes.html#dict.items
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict·items
func dict_items(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1110,7 +1107,7 @@ func dict_items(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, e
return NewList(res), nil
}
-// https://docs.python.org/2/library/stdtypes.html#dict.keys
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict·keys
func dict_keys(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1118,7 +1115,7 @@ func dict_keys(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, er
return NewList(recv.(*Dict).Keys()), nil
}
-// https://docs.python.org/2/library/stdtypes.html#dict.pop
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict·pop
func dict_pop(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := recv_.(*Dict)
var k, d Value
@@ -1135,7 +1132,7 @@ func dict_pop(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, er
return nil, fmt.Errorf("pop: missing key")
}
-// https://docs.python.org/2/library/stdtypes.html#dict.popitem
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict·popitem
func dict_popitem(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1152,7 +1149,7 @@ func dict_popitem(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value
return Tuple{k, v}, nil
}
-// https://docs.python.org/2/library/stdtypes.html#dict.setdefault
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict·setdefault
func dict_setdefault(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
var key, dflt Value = nil, None
if err := UnpackPositionalArgs(fnname, args, kwargs, 1, &key, &dflt); err != nil {
@@ -1168,7 +1165,7 @@ func dict_setdefault(fnname string, recv Value, args Tuple, kwargs []Tuple) (Val
}
}
-// https://docs.python.org/2/library/stdtypes.html#dict.update
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict·update
func dict_update(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if len(args) > 1 {
return nil, fmt.Errorf("update: got %d arguments, want at most 1", len(args))
@@ -1179,7 +1176,7 @@ func dict_update(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value,
return None, nil
}
-// https://docs.python.org/2/library/stdtypes.html#dict.update
+// https://github.com/google/skylark/blob/master/doc/spec.md#dict·update
func dict_values(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1192,7 +1189,7 @@ func dict_values(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value,
return NewList(res), nil
}
-// https://docs.python.org/2/library/stdtypes.html#list.append
+// https://github.com/google/skylark/blob/master/doc/spec.md#list·append
func list_append(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := recv_.(*List)
var object Value
@@ -1206,7 +1203,7 @@ func list_append(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value,
return None, nil
}
-// https://docs.python.org/2/library/stdtypes.html#list.clear
+// https://github.com/google/skylark/blob/master/doc/spec.md#list·clear
func list_clear(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1214,7 +1211,7 @@ func list_clear(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value,
return None, recv_.(*List).Clear()
}
-// https://docs.python.org/2/library/stdtypes.html#list.extend
+// https://github.com/google/skylark/blob/master/doc/spec.md#list·extend
func list_extend(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := recv_.(*List)
var iterable Iterable
@@ -1228,7 +1225,7 @@ func list_extend(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value,
return None, nil
}
-// https://docs.python.org/2/library/stdtypes.html#list.index
+// https://github.com/google/skylark/blob/master/doc/spec.md#list·index
func list_index(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := recv_.(*List)
var value, start_, end_ Value
@@ -1251,7 +1248,7 @@ func list_index(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value,
return nil, fmt.Errorf("index: value not in list")
}
-// https://docs.python.org/2/library/stdtypes.html#list.insert
+// https://github.com/google/skylark/blob/master/doc/spec.md#list·insert
func list_insert(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := recv_.(*List)
var index int
@@ -1281,7 +1278,7 @@ func list_insert(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value,
return None, nil
}
-// https://docs.python.org/2/library/stdtypes.html#list.remove
+// https://github.com/google/skylark/blob/master/doc/spec.md#list·remove
func list_remove(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := recv_.(*List)
var value Value
@@ -1302,7 +1299,7 @@ func list_remove(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value,
return nil, fmt.Errorf("remove: element not found")
}
-// https://docs.python.org/2/library/stdtypes.html#list.pop
+// https://github.com/google/skylark/blob/master/doc/spec.md#list·pop
func list_pop(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
list := recv.(*List)
index := list.Len() - 1
@@ -1320,7 +1317,7 @@ func list_pop(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, err
return res, nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.capitalize
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·capitalize
func string_capitalize(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1344,7 +1341,7 @@ func string_iterable(fnname string, recv Value, args Tuple, kwargs []Tuple) (Val
}, nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.count
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·count
func string_count(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := string(recv_.(String))
@@ -1366,7 +1363,7 @@ func string_count(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value
return MakeInt(strings.Count(slice, sub)), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.endswith
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·endswith
func string_endswith(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := string(recv_.(String))
var suffix string
@@ -1376,7 +1373,7 @@ func string_endswith(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Va
return Bool(strings.HasSuffix(recv, suffix)), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.isalnum
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·isalnum
func string_isalnum(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1390,7 +1387,7 @@ func string_isalnum(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Val
return Bool(recv != ""), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.isalpha
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·isalpha
func string_isalpha(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1404,7 +1401,7 @@ func string_isalpha(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Val
return Bool(recv != ""), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.isdigit
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·isdigit
func string_isdigit(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1418,7 +1415,7 @@ func string_isdigit(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Val
return Bool(recv != ""), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.islower
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·islower
func string_islower(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1437,7 +1434,7 @@ func isCasedString(s string) bool {
return false
}
-// https://docs.python.org/2/library/stdtypes.html#str.isspace
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·isspace
func string_isspace(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1451,7 +1448,7 @@ func string_isspace(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Val
return Bool(recv != ""), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.istitle
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·istitle
func string_istitle(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1482,7 +1479,7 @@ func string_istitle(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Val
return Bool(cased), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.isupper
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·isupper
func string_isupper(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1491,12 +1488,12 @@ func string_isupper(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Val
return Bool(isCasedString(recv) && recv == strings.ToUpper(recv)), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.find
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·find
func string_find(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
return string_find_impl(fnname, string(recv.(String)), args, kwargs, true, false)
}
-// https://docs.python.org/2/library/stdtypes.html#str.format
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·format
func string_format(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
format := string(recv_.(String))
var auto, manual bool // kinds of positional indexing used
@@ -1617,12 +1614,12 @@ func string_format(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Valu
return String(buf.String()), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.index
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·index
func string_index(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
return string_find_impl(fnname, string(recv.(String)), args, kwargs, false, false)
}
-// https://docs.python.org/2/library/stdtypes.html#str.join
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·join
func string_join(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := string(recv_.(String))
var iterable Iterable
@@ -1646,7 +1643,7 @@ func string_join(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value,
return String(buf.String()), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.lower
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·lower
func string_lower(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1654,7 +1651,7 @@ func string_lower(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value,
return String(strings.ToLower(string(recv.(String)))), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.lstrip
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·lstrip
func string_lstrip(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1662,7 +1659,7 @@ func string_lstrip(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value
return String(strings.TrimLeftFunc(string(recv.(String)), unicode.IsSpace)), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.partition
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·partition
func string_partition(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := string(recv_.(String))
var sep string
@@ -1691,7 +1688,7 @@ func string_partition(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (V
return tuple, nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.replace
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·replace
func string_replace(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := string(recv_.(String))
var old, new string
@@ -1702,17 +1699,17 @@ func string_replace(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Val
return String(strings.Replace(recv, old, new, count)), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.rfind
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·rfind
func string_rfind(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
return string_find_impl(fnname, string(recv.(String)), args, kwargs, true, true)
}
-// https://docs.python.org/2/library/stdtypes.html#str.rindex
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·rindex
func string_rindex(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
return string_find_impl(fnname, string(recv.(String)), args, kwargs, false, true)
}
-// https://docs.python.org/2/library/stdtypes.html#str.rstrip
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·rstrip
func string_rstrip(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1720,7 +1717,7 @@ func string_rstrip(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value
return String(strings.TrimRightFunc(string(recv.(String)), unicode.IsSpace)), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.startswith
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·startswith
func string_startswith(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := string(recv_.(String))
var prefix string
@@ -1730,9 +1727,9 @@ func string_startswith(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (
return Bool(strings.HasPrefix(recv, prefix)), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.strip
-// https://docs.python.org/2/library/stdtypes.html#str.lstrip
-// https://docs.python.org/2/library/stdtypes.html#str.rstrip
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·strip
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·lstrip
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·rstrip
func string_strip(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
var chars string
if err := UnpackPositionalArgs(fnname, args, kwargs, 0, &chars); err != nil {
@@ -1763,7 +1760,7 @@ func string_strip(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value
return String(s), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.title
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·title
func string_title(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1771,7 +1768,7 @@ func string_title(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value,
return String(strings.Title(strings.ToLower(string(recv.(String))))), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.upper
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·upper
func string_upper(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
if err := UnpackPositionalArgs(fnname, args, kwargs, 0); err != nil {
return nil, err
@@ -1779,8 +1776,8 @@ func string_upper(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value,
return String(strings.ToUpper(string(recv.(String)))), nil
}
-// https://docs.python.org/2/library/stdtypes.html#str.split
-// https://docs.python.org/2/library/stdtypes.html#str.rsplit
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·split
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·rsplit
func string_split(fnname string, recv_ Value, args Tuple, kwargs []Tuple) (Value, error) {
recv := string(recv_.(String))
var sep_ Value
@@ -1856,7 +1853,7 @@ func splitspace(s string, max int) []string {
return res
}
-// https://docs.python.org/2/library/stdtypes.html#str.splitlines
+// https://github.com/google/skylark/blob/master/doc/spec.md#string·splitlines
func string_splitlines(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
var keepends bool
if err := UnpackPositionalArgs(fnname, args, kwargs, 0, &keepends); err != nil {
@@ -1880,7 +1877,7 @@ func string_splitlines(fnname string, recv Value, args Tuple, kwargs []Tuple) (V
return NewList(list), nil
}
-// See https://bazel.build/versions/master/docs/skylark/lib/set.html#union.
+// https://github.com/google/skylark/blob/master/doc/spec.md#set·union.
func set_union(fnname string, recv Value, args Tuple, kwargs []Tuple) (Value, error) {
var iterable Iterable
if err := UnpackPositionalArgs(fnname, args, kwargs, 0, &iterable); err != nil {
diff --git a/syntax/parse.go b/syntax/parse.go
index 0ffb8b4..c824738 100644
--- a/syntax/parse.go
+++ b/syntax/parse.go
@@ -554,7 +554,7 @@ var precedence [maxToken]int8
// preclevels groups operators of equal precedence.
// Comparisons are nonassociative; other binary operators associate to the left.
// Unary MINUS and PLUS have higher precedence so are handled in parsePrimary.
-// See http://docs.python.org/2/reference/expressions.html#operator-precedence
+// See https://github.com/google/skylark/blob/master/doc/spec.md#binary-operators
var preclevels = [...][]Token{
{OR}, // or
{AND}, // and
diff --git a/syntax/scan.go b/syntax/scan.go
index 516f865..7e8cb9a 100644
--- a/syntax/scan.go
+++ b/syntax/scan.go
@@ -717,11 +717,13 @@ func (sc *scanner) scanString(val *tokenValue, quote rune) Token {
}
func (sc *scanner) scanNumber(val *tokenValue, c rune) Token {
- // https://docs.python.org/2/reference/lexical_analysis.html#integer-and-long-integer-literals
- // Not supported:
+ // https://github.com/google/skylark/blob/master/doc/spec.md#lexical-elements
+ //
+ // Python features not supported:
// - integer literals of >64 bits of precision
// - 123L or 123l long suffix
// - traditional octal: 0755
+ // https://docs.python.org/2/reference/lexical_analysis.html#integer-and-long-integer-literals
fraction, exponent := false, false
diff --git a/value.go b/value.go
index 62724c7..d36b76f 100644
--- a/value.go
+++ b/value.go
@@ -93,8 +93,7 @@ type Value interface {
// Skylark interpreters running concurrently.
Freeze()
- // Truth returns the truth value of an object, according to Python rules.
- // http://docs.python.org/2/library/stdtypes.html#truth-value-testing
+ // Truth returns the truth value of an object.
Truth() Bool
// Hash returns a function of x such that Equals(x, y) => Hash(x) == Hash(y).