// -1 on error
// Warning: calling this recursively may clobber pp buffers and those should
// not be used in the caller after recursvion finishes!
-// or initialize a new preproc object if the old state is important! (preprocinit and preprocfree)
+// or initialize a new preproc object if the old state is important!
+// (preprocinit and preprocfree)
int ulas_preprocline(struct ulas_preproc *pp, FILE *dst, FILE *src,
const char *raw_line, size_t n);
char *ulas_preprocexpand(struct ulas_preproc *pp, const char *raw_line,
size_t *n);
+/**
+ * Assembly step
+ */
+
+int ulas_asm(FILE *dst, FILE *src);
+
#endif
goto cleanup;
}
- // TODO: rest of steps here
+ fseek(preprocdst, 0, SEEK_SET);
+ rc = ulas_asm(ulasout, preprocdst);
cleanup:
if (!cfg.preproc_only) {
return rc;
}
+
+/**
+ * Assembly step
+ */
+
+int ulas_asm(FILE *dst, FILE *src) {
+ int rc = 0;
+
+ return rc;
+}