Descriptionexp/types/staging: operands, constants, and error handling
More pieces of the typechecker code:
- Operands are temporary objects representing an expressions's
type and value (for constants). An operand is the equivalent of
an "attribute" in attribute grammars except that it's not stored
but only passed around during type checking.
- Constant operations are implemented in const.go. Constants are
represented as bool (booleans), int64 and *big.Int (integers),
*big.Rat (floats), complex (complex numbers), and string (strings).
- Error reporting is consolidated in errors.go. Only the first
dozen of lines is new code, the rest of the file contains the
exprString and typeString functions formerly in two separate
files (which have been removed).
This is a replacement CL for 6492101 (which was created without
proper use of hg).
Patch Set 1 #Patch Set 2 : diff -r ffe134f40269 https://go.googlecode.com/hg/ #Patch Set 3 : diff -r ffe134f40269 https://go.googlecode.com/hg/ #Patch Set 4 : diff -r ffe134f40269 https://go.googlecode.com/hg/ #Patch Set 5 : diff -r 56f5a223dcd7 https://code.google.com/p/go #Patch Set 6 : diff -r e990cf183236 https://code.google.com/p/go #Patch Set 7 : diff -r 23b89fb47d66 https://code.google.com/p/go #
Total comments: 31
Patch Set 8 : diff -r eb75b492bf41 https://code.google.com/p/go #Patch Set 9 : diff -r eb75b492bf41 https://code.google.com/p/go #
Total comments: 1
Patch Set 10 : diff -r c70d7dfc3d07 https://code.google.com/p/go #Patch Set 11 : diff -r c70d7dfc3d07 https://code.google.com/p/go #
MessagesTotal messages: 5
|