64bites/64spec

64spec does not compile with KA >=5.1

maciejmalecki opened this issue · 5 comments

This is most likely due to following changes in 5.1:

11/11-2018 : New release (v5.1):
Escape chars (\b\f\n\r\t\") and hex values ($xx) in strings when using @. Eg: .text @"Hello world$ff"
Compatebility: Plain strings (strings without @) are now escape code free. (using " no longer works)

The following output is generated by KA:

//------------------------------------------------------
//------------------------------------------------------
// Kick Assembler v5.1 by Mads Nielsen
//------------------------------------------------------
//------------------------------------------------------
parsing
Got 8 errors while executing:
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 191:27) Syntax error
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 197:27) Syntax error
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 208:57) Syntax error
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 221:46) Syntax error
(C:\prj\cbm\c64lib\64spec\lib\64spec.asm 231:46) Syntax error
...

.if (validate_non_empty_string_option("result_file_name", key, value)) .return null

.if (validate_set_option("change_character_set", List().add(
_64SPEC_SET_OPTION("\"lowercase\"", "lowercase"),
^

Error: Syntax error
at line 191, column 27 in C:\prj\cbm\c64lib\64spec\lib\64spec.asm

Link to failing build: https://travis-ci.org/c64lib/common/builds/459738499

same here + 1

Same here +1

shame this is abandoned - i'd really like to use it.

The problem should be fixed already in 5bf7076 or use the fork https://github.com/c64lib/64spec

The fix is already merged but would be nice if @mehowte creates a 0.8.0 release with this bug fix. Currently, indeed a release from my fork can be used: https://github.com/c64lib/64spec/releases/tag/0.7.0pr

@hayesmaker besides of that the library is fully functional. I have "evolved" the 64spec-cli concept into my Gradle plugin, so tests can be now run using CLI as well:

https://c64lib.github.io/gradle-retro-assembler-plugin/#_running_unit_tests_with_64spec

If you need more working examples you could take a look into one of my libraries, i.e.: https://github.com/c64lib/text/tree/master/spec