cue: use 0o notation for octal numbers

instead of Go style octals

Fixes cuelang/cue#4.

Also fixes bug where `0` is interpreted as octal, and
thus only has type int and not float as well

Change-Id: I038bfdd02cecd2c78c8151530d9b8ef2b16e9a8c
diff --git a/doc/ref/spec.md b/doc/ref/spec.md
index c0ea20a..8fba6dd 100644
--- a/doc/ref/spec.md
+++ b/doc/ref/spec.md
@@ -298,20 +298,17 @@
             "." decimals multiplier.
 binary_lit  = "0b" binary_digit { binary_digit } .
 hex_lit     = "0" ( "x" | "X" ) hex_digit { [ "_" ] hex_digit } .
+octal_lit   = "0o" octal_digit { [ "_" ] octal_digit } .
 multiplier  = ( "K" | "M" | "G" | "T" | "P" | "E" | "Y" | "Z" ) [ "i" ]
 ```
 
-<!--
-octal_lit   = "0" octal_digit { [ "_" ] octal_digit } .
-TODO: consider 0o766 notation for octal.
---->
-
 ```
 42
 1.5Gi
-0600
-0xBad_Face
 170_141_183_460_469_231_731_687_303_715_884_105_727
+0xBad_Face
+0o755
+0b0101_0001
 ```
 
 ### Decimal floating-point literals