GitHub / boxdot/basic-rs / commits
Minimal BASIC interpreter written in Rust
| SHA | Message | Author | Date | Stats |
|---|---|---|---|---|
| e4304251 | merge Merge pull request #48 from gferon/add-lowercase-letters-string |
boxdot <d****@z****g>
Committed by: GitHub <n****y@g****m> |
about 7 years ago | |
| 45435dd1 | merge Merge pull request #45 from boxdot/boxdot/use-nom-5 |
boxdot <d****@z****g>
Committed by: GitHub <n****y@g****m> |
about 7 years ago | |
| 9d5b6cd6 | Add support for lowercase letters in strings (tested with REM statement) | Gabriel Féron <f****l@g****m> | about 7 years ago | |
| 6332316e | Rename parser2 -> parser, nom5 -> nom, apply clippy. | boxdot <d****@z****g> | about 7 years ago | |
| 91d6accc | Use our custom error in all parser functions. | boxdot <d****@z****g> | about 7 years ago | |
| 8d2a83de | Disable two tests with custom error messages. | boxdot <d****@z****g> | about 7 years ago | |
| 26349079 | Format remaining text on parser error. | boxdot <d****@z****g> | about 7 years ago | |
| 22771681 | Fix unquoted_string in new parser. (2) | boxdot <d****@z****g> | about 7 years ago | |
| 308243aa | Fix unquoted_string in new parser. | boxdot <d****@z****g> | about 7 years ago | |
| 27506ee4 | Make the space in "GO TO" optional. (#47) |
Karsten Jeschkies <k****@j****z>
Committed by: GitHub <n****y@g****m> |
about 7 years ago | |
| 576baf25 | Capture source line without line number. (#46) |
Karsten Jeschkies <k****@j****z>
Committed by: GitHub <n****y@g****m> |
about 7 years ago | |
| a26adcbc | Fix relation spacing. | boxdot <d****@z****g> | about 7 years ago | |
| 81bbfa40 | Start using nom5. | boxdot <d****@z****g> | about 7 years ago | |
| e5175edd | Remove unused rules and combine statements. | boxdot <d****@z****g> | about 7 years ago | |
| 5fadb13c | Parse and implement randomize statement. | boxdot <d****@z****g> | about 7 years ago | |
| e8531cfc | Parse section 18. array declarations. | boxdot <d****@z****g> | about 7 years ago | |
| b0aa4217 | Parse section 17. data statement. | boxdot <d****@z****g> | about 7 years ago | |
| a77f8ae5 | Parse sections 15 and 16. | boxdot <d****@z****g> | about 7 years ago | |
| b6d1b2a8 | Parse section 14. print statement. | boxdot <d****@z****g> | about 7 years ago | |
| 6be379c1 | Parse section 13. for and next statements. | boxdot <d****@z****g> | about 7 years ago | |
| b917b319 | Parse section 12. control statements. | boxdot <d****@z****g> | about 7 years ago | |
| 021deb83 | Parse section 11. let statement. | boxdot <d****@z****g> | about 7 years ago | |
| 5df6c9c1 | Parse section 10. user defined functions. | boxdot <d****@z****g> | about 7 years ago | |
| f78d0612 | Parse section 8. expressions. | boxdot <d****@z****g> | about 7 years ago | |
| 907a717d | Parse section 7. Variables (except arrays). | boxdot <d****@z****g> | about 7 years ago | |
| 63a4a3e3 | Implement section 5. Programs parser. | boxdot <d****@z****g> | about 7 years ago | |
| f02cbe25 | Add missing file. | boxdot <d****@z****g> | about 7 years ago | |
| 450c173d | merge Merge pull request #41 from boxdot/karsten/p177 |
boxdot <d****@z****g>
Committed by: GitHub <n****y@g****m> |
about 7 years ago | |
| 715590fd | merge Merge branch 'master' into boxdot/nom-5 | Karsten Jeschkies <k****@j****z> | about 7 years ago | |
| 9f3feab9 | Format number for error. | Karsten Jeschkies <k****@j****z> | about 7 years ago | |
| fde87ea4 | Raise test count. | Karsten Jeschkies <k****@j****z> | about 7 years ago | |
| ab7b6c5f | merge Merge remote-tracking branch 'origin/master' into karsten/p177 | Karsten Jeschkies <k****@j****z> | about 7 years ago | |
| 2d75e7ba | Round to lower integer in INT. (#40) |
Karsten Jeschkies <k****@j****z>
Committed by: GitHub <n****y@g****m> |
about 7 years ago | |
| 50f58de5 | Fix P177. | Karsten Jeschkies <k****@j****z> | about 7 years ago | |
| f79a5c68 | Start porting to nom 5. | boxdot <d****@z****g> | about 7 years ago | |
| dbfbff53 | merge Merge pull request #39 from boxdot/deps+wasm |
boxdot <d****@z****g>
Committed by: GitHub <n****y@g****m> |
over 7 years ago | |
| 8da1c6c2 | Upgrade dependencies. | boxdot <d****@z****g> | over 7 years ago | |
| 3c681cd9 | Update dependencies and fix wasm. | boxdot <d****@z****g> | over 7 years ago | |
| 555e2b5f | Replace trim_right_matches by trim_end_matches |
Gabriel Feron <f****l@g****m>
Committed by: boxdot <d****@z****g> |
over 7 years ago | |
| b74d7e50 | Fix number of tests passing. | boxdot <d****@z****g> | over 7 years ago | |
| 06b4fdb0 | Upgrade dependencies. | boxdot <d****@z****g> | over 7 years ago | |
| b3bbb5b5 | Use explicit float equality check to suppress clippy warning. | boxdot <d****@z****g> | over 7 years ago | |
| fea584f3 | Port to Rust 2018 edition. | boxdot <d****@z****g> | over 7 years ago | |
| 6dc1113d | Fix warn about unused res of write!. | boxdot <d****@z****g> | over 7 years ago | |
| 0d52fe7d | Double option base is fine for us. | boxdot <d****@z****g> | almost 8 years ago | |
| ed7b87b6 | Enable tests disable when INPUT was not implemented. | boxdot <d****@z****g> | almost 8 years ago | |
| 36a9f310 | Adjust ok and eok of tests testing for several errors. | boxdot <d****@z****g> | almost 8 years ago | |
| b4cb0d16 | Check dim subscript to be less than option. | boxdot <d****@z****g> | almost 8 years ago | |
| cb7982a1 | Add documentation to validate function. | boxdot <d****@z****g> | almost 8 years ago | |
| a6def2d2 | Fix parsing of INPUT and add ok and input for test 109. | boxdot <d****@z****g> | almost 8 years ago | |
| d4a59d2a | Let github's linguist ignore BASIC tests. (#21) |
boxdot <d****@z****g>
Committed by: GitHub <n****y@g****m> |
almost 8 years ago | |
| a5883a4b | Implement user defined functions. | boxdot <d****@z****g> | almost 8 years ago | |
| ec284191 | Parse user defined functions and calls of them. | boxdot <d****@z****g> | almost 8 years ago | |
| 6dbf38eb | Fix cursor calculation for numeric constant underflow. | boxdot <d****@z****g> | almost 8 years ago | |
| f19ab72f | Interpret only unquoted datum strings as numeric variables. | boxdot <d****@z****g> | almost 8 years ago | |
| 67037883 | Fix data statement evaluation for arrays. | boxdot <d****@z****g> | almost 8 years ago | |
| d2ea7b3e | Handle OPTION BASE after array decl. | boxdot <d****@z****g> | almost 8 years ago | |
| bd32333f | Handle redimensioned array variables. | boxdot <d****@z****g> | almost 8 years ago | |
| f946d358 | Check for invalid usages of array variables. | boxdot <d****@z****g> | almost 8 years ago | |
| 08c38bb0 | Implement stdin also for testing |
Gabriel Feron <f****l@g****m>
Committed by: boxdot <d****@z****g> |
almost 8 years ago | |
| f95ee5fe | Implement INPUT reply interpreting |
Gabriel Feron <f****l@g****m>
Committed by: boxdot <d****@z****g> |
almost 8 years ago | |
| 7e46f5ac | Fix P113: Parse INPUT statements |
Gabriel Feron <f****l@g****m>
Committed by: boxdot <d****@z****g> |
almost 8 years ago | |
| 45f94eb6 | Implement OPTION BASE. | boxdot <d****@z****g> | almost 8 years ago | |
| dc2b0f66 | Handle array subscript overflow. | boxdot <d****@z****g> | almost 8 years ago | |
| 18df6bc0 | Handle array subscript underflow. | boxdot <d****@z****g> | almost 8 years ago | |
| 57b03b09 | Collect array dimension before evaluation of program. | boxdot <d****@z****g> | almost 8 years ago | |
| ce558269 | Fix jump onto FOR statement and repeated DIM. | boxdot <d****@z****g> | almost 8 years ago | |
| 9f592ce2 | Parse OPTION BASE. | boxdot <d****@z****g> | almost 8 years ago | |
| de370356 | Implement ARRAY assignment and reading, and DIM statement. | boxdot <d****@z****g> | almost 8 years ago | |
| ba6a923e | Parse DIM statement. | boxdot <d****@z****g> | almost 8 years ago | |
| 095a9152 | Parse array variables. | boxdot <d****@z****g> | almost 8 years ago | |
| 4346c1f0 | Trim unquoted strings. | boxdot <d****@z****g> | almost 8 years ago | |
| 6d6af8be | Fix wrong parsing of unquoted strings in datum. | boxdot <d****@z****g> | almost 8 years ago | |
| be81e4ac | Fix error message of insufficient data for READ. | boxdot <d****@z****g> | almost 8 years ago | |
| c3524798 | Validate line numbers in ON GOTO. | boxdot <d****@z****g> | almost 8 years ago | |
| 1a0ce67e | Fix unexpected return error message. | boxdot <d****@z****g> | almost 8 years ago | |
| 01ef9e6b | Validate jumps into FOR..NEXT blocks. | boxdot <d****@z****g> | almost 8 years ago | |
| 6ff0b512 | Error on reuse of control variable in inner FOR block. | boxdot <d****@z****g> | almost 8 years ago | |
| a248882c | Detailed error on interleaved error blocks. | boxdot <d****@z****g> | almost 8 years ago | |
| c6d32739 | Error about invalid control variable in FOR block. | boxdot <d****@z****g> | almost 8 years ago | |
| 2fb593f5 | Detaled error on missing NEXT without FOR. | boxdot <d****@z****g> | almost 8 years ago | |
| 3c1d0f1b | FOR without matching NEXT error output. | boxdot <d****@z****g> | almost 8 years ago | |
| a1c8d00c | Fix formatting of integer small fractional part. | boxdot <d****@z****g> | almost 8 years ago | |
| a53bac43 |
Parse and implement ON..GOTO statement.
Co-authored-by: Gabriel Féron <f****l@g****m> |
boxdot <d****@z****g> | almost 8 years ago | |
| ac784ed1 | Flatten and replace FOR..NEXT blocks by equivalent statements. | boxdot <d****@z****g> | almost 8 years ago | |
| 30cdf0f7 | Parse FOR ... NEXT block. | boxdot <d****@z****g> | almost 8 years ago | |
| 2aef647e | Implement READ, RESTORE and DATA (#20) |
Gabriel Féron <f****l@g****m>
Committed by: boxdot <d****@z****g> |
almost 8 years ago | |
| 7e95e081 | Implement random number generator RND. | boxdot <d****@z****g> | almost 8 years ago | |
| cb19f480 | Add parser for RND. | boxdot <d****@z****g> | almost 8 years ago | |
| 2c8573b1 | Fix invalid columnar position after PRINT max column overflow. | boxdot <d****@z****g> | almost 8 years ago | |
| 71be17f1 | Do not compare exact output for informative tests. | boxdot <d****@z****g> | almost 8 years ago | |
| 32ff956c | Output during evaluation and validate invalid line numbers. | boxdot <d****@z****g> | almost 8 years ago | |
| 379a9d54 | Fix output of special float values and output warnings on div by 0. (#19) |
boxdot <d****@z****g>
Committed by: Karsten Jeschkies <k****@j****z> |
almost 8 years ago | |
| 529159c4 | Ignore extra spaces in num/str exprs and partse parenthesis. (#15) |
boxdot <d****@z****g>
Committed by: Karsten Jeschkies <k****@j****z> |
almost 8 years ago | |
| 120fcb87 | When variable undefined use default "" resp. 0. (#14) |
boxdot <d****@z****g>
Committed by: Karsten Jeschkies <k****@j****z> |
almost 8 years ago | |
| 1d8358a8 | Report non-existent line number for corresponding statement. (#13) |
boxdot <d****@z****g>
Committed by: Karsten Jeschkies <k****@j****z> |
almost 8 years ago | |
| d9b6955e | Test P020: introduce error handling of custom errors in nom. (#10) |
boxdot <d****@z****g>
Committed by: Karsten Jeschkies <k****@j****z> |
almost 8 years ago | |
| e5a6e3cc | Handle negative arguments of LOG. | boxdot <d****@z****g> | almost 8 years ago | |
| 32740cee | Do not handle underflow warnings (adjust P123.eok). | boxdot <d****@z****g> | almost 8 years ago | |
| 061a6a56 | Handle overflows of EXP. | boxdot <d****@z****g> | almost 8 years ago |