Ken Thompson
53010efe01
shift operations to new spec
...
R=r
OCL=14641
CL=14641
2008-08-28 19:59:42 -07:00
Robert Griesemer
df49fb3dc3
- Preliminary draft of what might become a real spec
...
- All text taken from go_lang.txt (which is unchanged),
but added a contents section, and sorted the contents
section in a hopefully sensible manner to give it more
structure
- Reordered text to match order of contents section,
did not adjust the language (needs to be done),
but removed sections that were dulicates or invalid
High-level organization of the doc:
- Introduction
- Notation
- Source code representation
- Vocabulary
- Declarations and scope rules
- Types
- Expressions
- Statements
- Function declarations
- Packages
- Program initialization and execution
I hope this new structure will make it much clearer which
pieces are missing and where they need to go. go_lang.txt
has grown somewhat unstructured and new text was added as
we saw fit.
R=r
DELTA=2577 (2577 added, 0 deleted, 0 changed)
OCL=14639
CL=14639
2008-08-28 17:47:53 -07:00
Ken Thompson
c6130e9f1f
get rid of static/dynamic array distinction
...
R=r
OCL=14634
CL=14634
2008-08-28 15:17:37 -07:00
Ken Thompson
66a603c986
arrays
...
R=r
OCL=14603
CL=14603
2008-08-27 17:28:30 -07:00
Ken Thompson
30fd44cf9d
fix fat copy of overlapping data
...
R=r
OCL=14417
CL=14417
2008-08-21 20:49:04 -07:00
Robert Griesemer
2d697d67dc
clarify pointer forward decls per ian's suggestion
...
R=r
DELTA=13 (3 added, 7 deleted, 3 changed)
OCL=14406
CL=14406
2008-08-21 17:18:01 -07:00
Robert Griesemer
2dabb6525a
- explained function and method pointers
...
- removed need for method types and literals
(gri & r)
R=r
DELTA=178 (101 added, 51 deleted, 26 changed)
OCL=14402
CL=14405
2008-08-21 16:55:38 -07:00
Robert Griesemer
c2c49bec77
added scope rules, removed TODO
...
R=r
DELTA=26 (19 added, 0 deleted, 7 changed)
OCL=14358
CL=14386
2008-08-21 11:00:26 -07:00
Robert Griesemer
bb05942638
updated section on reserved words
...
R=r
DELTA=44 (27 added, 2 deleted, 15 changed)
OCL=14353
CL=14355
2008-08-20 16:32:00 -07:00
Rob Pike
3308eb4406
delete redundant bug.
...
fix typo.
add scoping bug.
R=gri
OCL=14349
CL=14349
2008-08-20 15:46:05 -07:00
Robert Griesemer
a9af184131
bugs related to constat types
...
R=r
DELTA=10 (6 added, 4 deleted, 0 changed)
OCL=14348
CL=14348
2008-08-20 15:43:12 -07:00
Rob Pike
b59b551be7
allow predefined identifiers (len, etc.) to be exported.
...
(they were not accepted as names by the import parser)
R=ken
DELTA=3 (0 added, 0 deleted, 3 changed)
OCL=14159
CL=14159
2008-08-13 15:24:55 -07:00
Rob Pike
3aecf2ed07
add test for constants
...
add bug in constant evaluation (erroneously allowing assignment of float to int)
update golden
R=gri
OCL=14153
CL=14153
2008-08-13 12:15:24 -07:00
Ken Thompson
52861558f4
put i2s, s2i and i2i in convert
...
R=r
OCL=14143
CL=14143
2008-08-12 19:13:09 -07:00
Rob Pike
0f1d439e82
update bugs
...
exploit the compiler now supporting i2s and i2i and clean up some code
fix up some panics and prints
R=gri
OCL=14141
CL=14141
2008-08-12 17:07:33 -07:00
Ken Thompson
ead7a6d47a
i2s and i2i
...
R=r
OCL=14140
CL=14140
2008-08-12 16:36:18 -07:00
Rob Pike
8c89767c72
update tests
...
R=gri
OCL=14137
CL=14137
2008-08-12 16:11:55 -07:00
Ken Thompson
c1ab5a554f
resolve go.y edits
...
R=r
OCL=14132
CL=14132
2008-08-12 14:28:58 -07:00
Ken Thompson
4797523572
fixed bugs in const/case
...
R=r
DELTA=138 (75 added, 12 deleted, 51 changed)
OCL=14129
CL=14131
2008-08-12 14:04:03 -07:00
Rob Pike
9b1e6fddba
fix one syntax error in declaration.
...
reformat the bullet list about strings
R=gri
OCL=14128
CL=14128
2008-08-12 13:21:49 -07:00
Rob Pike
68fb2d04d0
use tabs for indentation consistently
...
R=gri
OCL=14125
CL=14125
2008-08-12 11:38:34 -07:00
Rob Pike
f97832e4c2
New words regarding constants
...
R=gri,ken
DELTA=64 (42 added, 3 deleted, 19 changed)
OCL=14116
CL=14124
2008-08-12 11:20:34 -07:00
Rob Pike
bc2f5f1dce
fix bug depot:
...
1) fix print statements, panic statements (parentheses required)
2) len is now allowed as a var name (bug053)
R=gri
OCL=14106
CL=14106
2008-08-11 22:07:49 -07:00
Rob Pike
7293dab5a9
fix two print statements
...
R=gri
OCL=14105
CL=14105
2008-08-11 21:37:46 -07:00
Rob Pike
72d50900e3
fix a typo in the comments
...
R=ken
OCL=14104
CL=14104
2008-08-11 21:29:11 -07:00
Robert Griesemer
683ded80c9
- changed go-in-go parser to require ()'s for panic and print
...
- adjusted much of the existing go code
- missing: tests
R=r
DELTA=229 (1 added, 17 deleted, 211 changed)
OCL=14103
CL=14103
2008-08-11 21:20:42 -07:00
Robert Griesemer
58ba20b5a2
- allow reserved words as field and method names
...
R=r
OCL=14102
CL=14102
2008-08-11 20:40:37 -07:00
Ken Thompson
a8a9dbc9c6
print() and field names
...
R=r
DELTA=86 (61 added, 3 deleted, 22 changed)
OCL=14099
CL=14099
2008-08-11 19:17:28 -07:00
Robert Griesemer
40c93a5238
- experiments with forward-declaring types of non-imported packages
...
- adjusted switch syntax (no repeated case: case: anymore)
- enabled some constant expressions that work now
R=r
OCL=14098
CL=14098
2008-08-11 18:44:41 -07:00
Robert Griesemer
fe582137f4
- removed fall-through for case: case: in switch statements
...
- added ()'s to all print calls in examples
- augmented rule about use of identifiers
R=r
DELTA=11 (0 added, 1 deleted, 10 changed)
OCL=14097
CL=14097
2008-08-11 18:09:31 -07:00
Rob Pike
968701beb1
- fix signedness bug in sys.Inf()
...
- add NaN, Inf printing to fmt
- fix a couple of bugs in fmt
- add a test for fmt
R=ken
OCL=14092
CL=14092
2008-08-11 15:04:54 -07:00
Ken Thompson
2679eefb31
floating <= and >= compare
...
R=r
DELTA=8 (0 added, 0 deleted, 8 changed)
OCL=14091
CL=14091
2008-08-11 13:53:50 -07:00
Rob Pike
2738f42d18
add test for maps.
...
R=gri
OCL=14090
CL=14090
2008-08-11 13:32:13 -07:00
Ken Thompson
2b75556436
export large constants
...
R=r
DELTA=37 (31 added, 4 deleted, 2 changed)
OCL=14089
CL=14089
2008-08-11 13:22:04 -07:00
Rob Pike
cbaca0be24
code in bug was wrong; correct and improve. works now.
...
R=gri
OCL=14088
CL=14088
2008-08-11 13:08:16 -07:00
Robert Griesemer
1e0b17b24c
- added test case for compiler bug re: exported
...
variables of function pointer type
R=r
OCL=14086
CL=14086
2008-08-11 11:40:19 -07:00
Rob Pike
1f41ed375b
update tests.
...
fixedbugs/bug012.go is broken again but i left it where it is, with
the golden file not reflecting the breakage so it will be noticed
R=ken,gri
OCL=14073
CL=14073
2008-08-11 10:10:48 -07:00
Robert Griesemer
c7fb27f6e4
- more steps towards automatic recursive compilation of dependencies
...
- make forward declarations of types match 6g
- better factoring
R=r
OCL=14059
CL=14059
2008-08-11 09:45:40 -07:00
Ken Thompson
5649c23c8c
fixed op=, ++ and -- on maps (bug060)
...
R=r
DELTA=22 (21 added, 0 deleted, 1 changed)
OCL=14049
CL=14049
2008-08-10 16:49:01 -07:00
Ken Thompson
258c817a1b
allow name-type or pointer-to-named-type as method name (bug046)
...
R=r
DELTA=17 (11 added, 3 deleted, 3 changed)
OCL=14048
CL=14048
2008-08-10 15:09:09 -07:00
Ken Thompson
b89c538473
fixed unary ^ opcode (bug082)
...
R=r
DELTA=11 (10 added, 1 deleted, 0 changed)
OCL=14047
CL=14047
2008-08-10 14:35:02 -07:00
Ken Thompson
091047f36c
adding and deleting files
...
R=r
DELTA=1685 (920 added, 765 deleted, 0 changed)
OCL=14030
CL=14030
2008-08-09 17:33:35 -07:00
Ken Thompson
272ae659db
mp fixed arith
...
R=r
DELTA=149 (80 added, 62 deleted, 7 changed)
OCL=14029
CL=14029
2008-08-09 17:29:26 -07:00
Rob Pike
baf0747dd3
fix minor bug uncovered by new constant evaluator
...
R=gri
OCL=14025
CL=14025
2008-08-09 14:50:29 -07:00
Ken Thompson
67c4cc473c
forgot a file
...
R=r
DELTA=427 (427 added, 0 deleted, 0 changed)
OCL=14017
CL=14017
2008-08-08 17:15:46 -07:00
Ken Thompson
9c2ade358d
mp constants
...
R=r
DELTA=381 (142 added, 26 deleted, 213 changed)
OCL=14011
CL=14016
2008-08-08 17:13:31 -07:00
Robert Griesemer
7924b3862d
- removed misleading comment in bug041.go
...
- removed bug042.go - not a bug according to updated spec
R=r
DELTA=43 (5 added, 36 deleted, 2 changed)
OCL=14008
CL=14010
2008-08-08 16:12:34 -07:00
Rob Pike
3963fe3b32
fix a couple of tests that had shell errors
...
clean up the golden file a bit to have less meaningless content and be more robust to spurious diffs.
now there is output only for tests that produce output or failure.
R=gri
OCL=14005
CL=14005
2008-08-08 10:57:23 -07:00
Russ Cox
907f38acfc
Change generated acid to indent nested structures properly.
...
Before the change:
acid: M(m0)
g0 00008dd0
morearg 00000000
cret 00000000
curg 2aaaaaaab000
lastg 00000000
Gobuf sched {
SP ffffe5e0
PC 7fff00001ba1
}
...
acid:
After the change:
acid: M(m0)
g0 (G)00008dd0
morearg 00000000
cret 00000000
curg (G)2aaaaaaab000
lastg (G)00000000
Gobuf sched {
SP ffffe5e0
PC 00001ba1
}
...
acid:
R=ken
DELTA=27 (14 added, 2 deleted, 11 changed)
OCL=13802
CL=13998
2008-08-08 04:25:20 -07:00
Robert Griesemer
bc13a1a374
first primitive cut at resolving missing imports automatically:
...
if an import file is missing, the corresponding source
is compiled automatically, if found
R=r
OCL=13990
CL=13990
2008-08-07 19:32:22 -07:00