============
Simple macro
============

record(ao, "${P}:name") {
	field(DESC, "Description for ${P}'s name")
}

---

(source_file
 (record_instance
  type: (record_type)
  name: (record_name
	  (macro_expansion)
	  (string_text_fragment))
  (field
   name: (field_name)
   value: (string
	   (string_text_fragment
		(macro_expansion))))))

==================
Macro with default
==================

record(ao, "${P=a}:${P="a"}:${P="a\"b"}:name") {
}

---

(source_file
 (record_instance
  type: (record_type)
  name: (record_name
	  (macro_expansion)
	  (string_text_fragment
	   (macro_expansion)
	   (macro_expansion)))))

==============
Macro in macro
==============

record(ao, "${P=a$(B=C${D})}:name") {
}

---

(source_file
 (record_instance
  type: (record_type)
  name: (record_name
	  (macro_expansion)
	  (string_text_fragment))))
