304 lines
5.0 KiB
Plaintext
304 lines
5.0 KiB
Plaintext
==================
|
|
string literal one line
|
|
==================
|
|
|
|
foo = "bar"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template)))))))
|
|
|
|
==================
|
|
string literal escaped newline
|
|
==================
|
|
|
|
foo = "bar\nbaz"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (escape_sequence))))))))
|
|
|
|
==================
|
|
string literal escaped tab
|
|
==================
|
|
|
|
foo = "bar\tbaz"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (escape_sequence))))))))
|
|
|
|
==================
|
|
string literal escaped "
|
|
==================
|
|
|
|
foo = "bar\"baz"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (escape_sequence))))))))
|
|
|
|
==================
|
|
string literal escaped \
|
|
==================
|
|
|
|
foo = "bar\\baz"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (escape_sequence))))))))
|
|
|
|
==================
|
|
string literal escaped \uFFFF
|
|
==================
|
|
|
|
foo = "bar\uFFFFbaz"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (escape_sequence))))))))
|
|
|
|
==================
|
|
string bad escape sequence
|
|
==================
|
|
|
|
foo = "bar\pbaz"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (ERROR (UNEXPECTED '\')))))))))
|
|
|
|
==================
|
|
string bad escape sequence 2
|
|
==================
|
|
|
|
foo = "bar\uZZ"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (ERROR (UNEXPECTED '\')))))))))
|
|
|
|
==================
|
|
string literal multi line error
|
|
==================
|
|
|
|
foo = "
|
|
bar"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (ERROR (UNEXPECTED 'b')))))))))
|
|
|
|
==================
|
|
string literal unescaped tab
|
|
==================
|
|
|
|
foo = "foo bar"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (ERROR (UNEXPECTED 'b')))))))))
|
|
|
|
==================
|
|
string literal unescaped backslash
|
|
==================
|
|
|
|
foo = "foo\bar"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (ERROR (UNEXPECTED '\')))))))))
|
|
|
|
==================
|
|
string literal escaped backslash at end
|
|
==================
|
|
|
|
foo = "foo\\"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (escape_sequence))))))))
|
|
|
|
|
|
==================
|
|
string literal escaped template interpolation
|
|
==================
|
|
|
|
foo = "$${foo.bar}"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (escape_sequence))))))))
|
|
|
|
==================
|
|
string literal template chars but no template 1
|
|
==================
|
|
|
|
foo = "$$$"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template)))))))
|
|
|
|
==================
|
|
string literal template chars but no template 2
|
|
==================
|
|
|
|
foo = "100%"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template)))))))
|
|
|
|
==================
|
|
string literal template chars but no template 3
|
|
==================
|
|
|
|
foo = "%\n\t"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template
|
|
(escape_sequence)
|
|
(escape_sequence))))))))
|
|
|
|
==================
|
|
string literal template chars but no template 4
|
|
==================
|
|
|
|
foo = "%%\n\t"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template
|
|
(escape_sequence)
|
|
(escape_sequence))))))))
|
|
|
|
==================
|
|
string literal template chars but no template 5
|
|
==================
|
|
|
|
foo = "$$"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template)))))))
|
|
|
|
==================
|
|
string literal template chars but no template 6
|
|
==================
|
|
|
|
foo = "%%{\n\t"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template
|
|
(escape_sequence)
|
|
(escape_sequence)
|
|
(escape_sequence))))))))
|
|
|
|
==================
|
|
string literal escaped template
|
|
==================
|
|
|
|
foo = "$${ var.bar }"
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(attribute
|
|
(identifier)
|
|
(expression (expr_term (template_expr (quoted_template (escape_sequence))))))))
|
|
|
|
==================
|
|
proper quoted template in string literal position errors
|
|
==================
|
|
|
|
resource "${var.bar}" {
|
|
}
|
|
|
|
---
|
|
|
|
(config_file
|
|
(body
|
|
(block
|
|
(identifier)
|
|
(string_lit (ERROR)))))
|