Describe the bug
When parsing the code below, the following error/exception is presented. It points to the line containing "${ou_k}:${account_v.name}" : {
ERROR: Unexpected error: Unexpected token Token('DBLQUOTE', '"') at line 478, column 13.
Expected one of:
* IN
* IF
* FOR_EACH
* STRING_LIT
* NL_OR_COMMENT
* FOR
* DECIMAL
* RBRACE
* NAME
* NEGATIVE_DECIMAL
* LPAR
Software:
- OS: [macOS]
- Python version (e.g. 3.13.3)
- python-hcl2 version (e.g. 7.2.0)
Snippet of HCL2 code causing the unexpected behaviour:
helpers = {
admin_aws_target_ous_accounts = {
# Each specified organizational unit (e.g. `Generic`) can have multiple Accounts (e.g. `plejd-dev`, `plejd-stage`, etc.), thus making it two-dimensional.
# Hence we want to flatten it so it, where each item has a key like `generic:plejd-dev`, `generic:plejd-stage` etc.
for item in flatten([
for ou_k, ou_v in local.workspace["admin_enabled"] ? data.aws_organizations_organizational_unit_child_accounts.admin_ous : {} : [
for _, account_v in ou_v.accounts : {
"${ou_k}:${account_v.name}" : {
account_id = account_v.id
}
}
]
]) : keys(item)[0] => values(item)[0]
}
}
Expected behavior
That code above should not trigger an exception.
Exception traceback (if applicable):
>>> hcl2.load(f)
Traceback (most recent call last):
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/lark/parsers/lalr_parser_st
action, arg = states[state][token.type]
~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'DBLQUOTE'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<python-input-5>", line 1, in <module>
hcl2.load(f)
~~~~~~~~~^^^
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/hcl2/api.py", line 16, in load
return loads(file.read(), with_meta=with_meta)
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/hcl2/api.py", line 29, in loads
tree = parser().parse(text + "\n")
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/lark/lark.py", line 655, in parse
return self.parser.parse(text, start=start, on_error=on_error)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/lark/parser_frontends.py", line 104, in parse
return self.parser.parse(stream, chosen_start, **kw)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/lark/parsers/lalr_parser.py", line 42, in parse
return self.parser.parse(lexer, start)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/lark/parsers/lalr_parser.py", line 88, in parse
return self.parse_from_state(parser_state)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/lark/parsers/lalr_parser.py", line 111, in parse_from_state
raise e
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/lark/parsers/lalr_parser.py", line 102, in parse_from_state
state.feed_token(token)
~~~~~~~~~~~~~~~~^^^^^^^
File "/Users/sebman/projects/plejd/cloudops/iac/.venv/lib/python3.13/site-packages/lark/parsers/lalr_parser_state.py", line 80, in feed_token
raise UnexpectedToken(token, expected, state=self, interactive_parser=None)
lark.exceptions.UnexpectedToken: Unexpected token Token('DBLQUOTE', '"') at line 478, column 13.
Expected one of:
* FOR
* DECIMAL
* IF
* NEGATIVE_DECIMAL
* RBRACE
* IN
* NAME
* NL_OR_COMMENT
* LPAR
* STRING_LIT
* FOR_EACH
Describe the bug
When parsing the code below, the following error/exception is presented. It points to the line containing
"${ou_k}:${account_v.name}" : {Software:
Snippet of HCL2 code causing the unexpected behaviour:
Expected behavior
That code above should not trigger an exception.
Exception traceback (if applicable):