Repository: amplify-education/python-hcl2 (language: python)

Issue:
Can not parse file that has "in" attribute
Hi,

STR:
- create the tf file with context:
```hcl
resource "aws_api_gateway_rest_api" "example" {

  body = jsonencode({
	security_definitions = {
		sigv4 = {
		  type                         = "apiKey"
		  name                         = "Authorization"
		  in                           = "header"
		  x-amazon-apigateway-authtype = "awsSigv4"
		}
	  }
  })
}
```

Actual Result:
```python
  File "/usr/local/lib/python3.12/site-packages/hcl2/api.py", line 14, in load
    return loads(file.read(), with_meta=with_meta)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/hcl2/api.py", line 27, in loads
    tree = hcl2.parse(text + "\n")
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/lark/lark.py", line 658, in parse
    return self.parser.parse(text, start=start, on_error=on_error)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/lark/parser_frontends.py", line 104, in parse
    return self.parser.parse(stream, chosen_start, **kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/lark/parsers/lalr_parser.py", line 42, in parse
    return self.parser.parse(lexer, start)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/lark/parsers/lalr_parser.py", line 88, in parse
    return self.parse_from_state(parser_state)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/lark/parsers/lalr_parser.py", line 111, in parse_from_state
    raise e
  File "/usr/local/lib/python3.12/site-packages/lark/parsers/lalr_parser.py", line 102, in parse_from_state
    state.feed_token(token)
  File "/usr/local/lib/python3.12/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('IN', 'in') at line 32, column 7.
Expected one of:
	* BANG
	* MINUS
	* __ANON_3
	* STRING_LIT
	* DECIMAL
	* LBRACE
	* LPAR
	* LSQB
	* __ANON_11
	* RBRACE
	* __ANON_10
```


Discussion / hints:
Upon testing this in https://www.lark-parser.org/ide/ changing the parser to Earley seems to not have this error. Being mostly ignorant in this topic, is there any reason to use a specific parser?

Fix patch:
diff --git a/hcl2/hcl2.lark b/hcl2/hcl2.lark
index cee792e..f477e3b 100644
--- a/hcl2/hcl2.lark
+++ b/hcl2/hcl2.lark
@@ -5,7 +5,8 @@ block : identifier (identifier | STRING_LIT)* new_line_or_comment? "{" body "}"
 new_line_and_or_comma: new_line_or_comment | "," | "," new_line_or_comment
 new_line_or_comment: ( /\n/ | /#.*\n/ | /\/\/.*\n/ )+
 
-identifier : /[a-zA-Z_][a-zA-Z0-9_-]*/
+identifier : /[a-zA-Z_][a-zA-Z0-9_-]*/ | IN
+IN : "in"
 
 ?expression : expr_term | operation | conditional
 
@@ -27,7 +28,7 @@ expr_term : "(" new_line_or_comment? expression new_line_or_comment? ")"
             | index_expr_term
             | get_attr_expr_term
             | identifier
-            | provider_function_call 
+            | provider_function_call
             | heredoc_template
             | heredoc_template_trim
             | attr_splat_expr_term


Test patch:
diff --git a/test/helpers/terraform-config-json/resource_in_attribute.json b/test/helpers/terraform-config-json/resource_in_attribute.json
new file mode 100644
index 0000000..f94f842
--- /dev/null
+++ b/test/helpers/terraform-config-json/resource_in_attribute.json
@@ -0,0 +1,13 @@
+{
+  "resource": [
+    {
+      "custom_provider_resource": {
+        "resource_name": {
+          "name": "resource_name",
+          "attribute": "attribute_value",
+          "in": "attribute_value2"
+        }
+      }
+    }
+  ]
+}
diff --git a/test/helpers/terraform-config/resource_in_attribute.tf b/test/helpers/terraform-config/resource_in_attribute.tf
new file mode 100644
index 0000000..85052f0
--- /dev/null
+++ b/test/helpers/terraform-config/resource_in_attribute.tf
@@ -0,0 +1,5 @@
+resource "custom_provider_resource" "resource_name" {
+  name      = "resource_name"
+  attribute = "attribute_value"
+  in        = "attribute_value2"
+}