59a1343216
Terraform interprets HIL variables in such a way that it allows numeric attribute names which then get interpreted as numeric indices into a list. This is used to work around the fact that the splat expressions don't work for the index operator. zcl has "full splats" that _do_ support the index operator, but to allow old Terraform configs to be processed by zcl we'll accept this special case within attribute-only-splats only. For the moment this is a special exception made by this specific implementation of zcl rather than part of the spec, since it's specifically a pragmatic Terraform migration strategy, but it might get upgraded to full spec status later if we end up needing to support it in other host languages. This requires the scanner to be a little more picky about the ending of numeric literals, so that they won't absorb the trailing period after the number in foo.*.baz.1.baz . This is okay because the spec doesn't allow trailing periods anyway, and this is not actually a change in final behavior because the parser was already catching this situation and rejecting it at a later point. |
||
---|---|---|
.. | ||
hclhil | ||
json | ||
zclsyntax | ||
diagnostic_text_test.go | ||
diagnostic_text.go | ||
diagnostic.go | ||
didyoumean.go | ||
doc.go | ||
eval_context.go | ||
merged_test.go | ||
merged.go | ||
ops.go | ||
pos.go | ||
schema.go | ||
spec.md | ||
structure.go | ||
traversal.go |