printf("There are %d tokens (Allocated space for %d tokens)\n", bh_arr_length(token_arr), bh_arr_capacity(token_arr));
for (OnyxToken* it = token_arr; !bh_arr_end(token_arr, it); it++) {
- printf("%s\n", onyx_get_token_type_name(*it));
+ printf("%s (Line %ld, Col %ld)\n", onyx_get_token_type_name(*it), it->line_number, it->line_column);
}
bh_hash_iterator it = bh_hash_iter_setup(u16, symbol_count);
#ifndef INCREMENT_CURR_TOKEN
#define INCREMENT_CURR_TOKEN(tkn) { \
- (tkn)->curr++; \
- while (*(tkn)->curr == '\n' && (tkn)->curr != (tkn)->end) { \
- (tkn)->curr++; \
+ if (*(tkn)->curr == '\n') { \
(tkn)->line_number++; \
- (tkn)->line_start = (tkn)->curr; \
+ (tkn)->line_start = (tkn)->curr + 1; \
} \
+ (tkn)->curr++; \
}
#endif
Foo :: struct { x i32, y i32 };
-add :: (a i32, b i32) -> i32 {
- return a + b + 1234.56;
-};
-
+add :: proc (a i32, b i32) -> i32 {
+ return a + b + 1234.56;
+};
\ No newline at end of file
/* nested comments /* are /* okay */ */ */
*/
-foreign proc "console" "log" :: (data ptr, length i32) -> void;
+foreign "console" "log" :: proc (data ptr, length i32) -> void ---;
-export proc add :: (a i32, b i32) -> i32 {
+global thing ::
+
+export add :: proc (a i32, b i32) -> i32 {
return a + b;
};
-export proc max :: (a i32, b i32) -> i32 {
+export max :: proc (a i32, b i32) -> i32 {
/* Curly braces are required */
x := "String literal! HERE \\\"Woot Woot\" done";