¿Cómo podría agregar una palabra clave relativamente trivial a Objective-C usando el compilador Clang? Por ejemplo, agregando un literal @yes
que se mapea a [NSNumber numberWithBool:YES]
.Agregar palabra clave a Objective-C usando Clang
He visto el (excelente) código fuente de Clang y creo que la mayoría del trabajo que tendría que hacer es en lib/Rewrite/RewriteObjC.cpp
. Existe el método RewriteObjC::RewriteObjCStringLiteral
(ver enlace anterior) que hace un trabajo similar para las instancias literales NSString *
.
hago esta pregunta como Clang es muy modular y no estoy seguro de qué .td
(ver tablegen
) archivos, archivos y .h
visitante pasa AST que tendría que modificar para lograr mi objetivo.
¿Por qué querrías hacerlo? ¿Quieres que tu compilador compilable solo por tu compilador ajustado? – Krizz
@Krizz Para obtener más información sobre el funcionamiento interno de Clang, ¡por eso! Es un ejercicio educativo :) –
Si solo quieres @sí sin sumergirte en estas partes internas de Clang, mira esto: http://stackoverflow.com/a/17837531/598057 –