From ff77516d964d758e33218e03483484d2ef1adef9 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 22 Jun 2021 20:43:35 -0400 Subject: Sort of handling comments in the transpiler --- 2d/rigidbody/rigidbody_1.html | 4 ++-- transpiler/replacer.cpp | 13 ++++++++++++- transpiler/transpiler | Bin 49640 -> 49688 bytes 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/2d/rigidbody/rigidbody_1.html b/2d/rigidbody/rigidbody_1.html index bf703d2..ec7e028 100644 --- a/2d/rigidbody/rigidbody_1.html +++ b/2d/rigidbody/rigidbody_1.html @@ -172,7 +172,7 @@ const int32 NUM_IMPULSES = 4; void update(float32 deltaTimeSeconds) { applyGravity(deltaTimeSeconds); - // Add up all of the forces acting at this moment + // Add up all of the forces acting at this moment Vector2 force; for (int32 idx = 0; idx < numImpulses; idx++) { Impulse& i = activeImpulses[idx]; @@ -192,7 +192,7 @@ const int32 NUM_IMPULSES = 4; velocity += (acceleration * impulseDtSeconds); position += (velocity * deltaTimeSeconds); - // Cleanup any impulses that have expired in the mean time + // Cleanup any impulses that have expired in the mean time for (int32 idx = 0; idx < numImpulses; idx++) { if (activeImpulses[idx].isDead) { for (int j = idx + 1; j < numImpulses; j++) { diff --git a/transpiler/replacer.cpp b/transpiler/replacer.cpp index 28c2e8e..0225f92 100644 --- a/transpiler/replacer.cpp +++ b/transpiler/replacer.cpp @@ -17,6 +17,8 @@ const char* types[] = { "struct", "class" }; +const char* commentType = "//"; + bool isType(char* str, int size) { if (size == 0) { return false; @@ -84,7 +86,16 @@ std::string insertCodeSnippets(char* workingDirectory, char* bodyContent) { } int tokenLength = (tokenEnd - tokenStart); - if (isType(&snippetContent[tokenStart], tokenLength)) { + + if (tokenLength == strlen(commentType) && strncmp(&snippetContent[tokenStart], commentType, tokenLength) == 0) { + // @NOTE: Assuming comments are always on a single line + s.append(""); + while (snippetContent[tokenEnd] != '\n') { + tokenEnd++; + } + s.append(&snippetContent[tokenStart], tokenEnd - tokenStart); + s.append(""); + } else if (isType(&snippetContent[tokenStart], tokenLength)) { s.append(""); s.append(&snippetContent[tokenStart], tokenLength); s.append(""); diff --git a/transpiler/transpiler b/transpiler/transpiler index 509db3e..896e778 100755 Binary files a/transpiler/transpiler and b/transpiler/transpiler differ -- cgit v1.2.1