diff options
author | alandonovan <adonovan@google.com> | 2017-10-17 15:20:32 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-17 15:20:32 -0400 |
commit | 5ce1e42319f24a6f5f0c16508f502bf6144511d6 (patch) | |
tree | 5673d7601dfb1e5462f1137fd777a85a7fb979e7 | |
parent | 25a152db3440891960758ed4d9d5b0fdf308d4ba (diff) | |
download | starlark-go-5ce1e42319f24a6f5f0c16508f502bf6144511d6.tar.gz |
doc comments: refer to specification of Skylark, not Bazel or Python (#26)
-rw-r--r-- | eval.go | 2 | ||||
-rw-r--r-- | library.go | 149 | ||||
-rw-r--r-- | syntax/parse.go | 2 | ||||
-rw-r--r-- | syntax/scan.go | 6 | ||||
-rw-r--r-- | value.go | 3 |
5 files changed, 80 insertions, 82 deletions
@@ -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) @@ -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 @@ -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). |