doc/ref/spec: reflect reality w.r.t. octal numbers

0123:
- cue/parser|scanner: not accepted (done)
- cue: accepted if present in AST (done)
- cue/format: accepted but convert

Also added a test for multiline label acceptance.
This is also tested in another package.

Change-Id: If3cf3892e03020528840cedca760dea9552df84c
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/3442
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/doc/ref/spec.md b/doc/ref/spec.md
index aab56f8..2df912c 100644
--- a/doc/ref/spec.md
+++ b/doc/ref/spec.md
@@ -302,7 +302,7 @@
 ### Integer literals
 
 An integer literal is a sequence of digits representing an integer value.
-An optional prefix sets a non-decimal base: 0 for octal,
+An optional prefix sets a non-decimal base: 0o for octal,
 0x or 0X for hexadecimal, and 0b for binary.
 In hexadecimal literals, letters a-f and A-F represent values 10 through 15.
 All integers allow interstitial underscores "_";
@@ -321,7 +321,7 @@
               "." decimals  multiplier .
 binary_lit  = "0b" binary_digit { binary_digit } .
 hex_lit     = "0" ( "x" | "X" ) hex_digit { [ "_" ] hex_digit } .
-octal_lit   = "0" [ "o" ] octal_digit { [ "_" ] octal_digit } .
+octal_lit   = "0o" octal_digit { [ "_" ] octal_digit } .
 multiplier  = ( "K" | "M" | "G" | "T" | "P" | "E" | "Y" | "Z" ) [ "i" ]
 
 float_lit   = decimals "." [ decimals ] [ exponent ] |