Irmen de Jong
|
fd25e85d59
|
added unroll loop construct
|
2023-03-14 23:37:49 +01:00 |
|
Irmen de Jong
|
25199dfb43
|
change tokenizer so that A,X,Y now are parsed correctly as identifiers as well
|
2023-03-08 22:57:19 +01:00 |
|
Irmen de Jong
|
1860f66de5
|
allow "x not in array" as equivalent to "not x in array"
update antlr parsing lib
|
2022-12-23 17:59:56 +01:00 |
|
Irmen de Jong
|
0d4dd385b8
|
added '%ir' to write inline IR code, '%asm' is now only for real 6502 assembly.
(%ir is probably only used in the library modules for the virtual machine target)
|
2022-09-30 15:12:26 +02:00 |
|
Irmen de Jong
|
bb5ffb24a8
|
add IDEA antlr parser build info to documentation
|
2022-08-21 13:32:31 +02:00 |
|
Irmen de Jong
|
7ef4ddf0f3
|
fixed operator precedence: bitwise must come before comparisons
|
2022-08-14 12:34:00 +02:00 |
|
Irmen de Jong
|
41f4e22a17
|
introduce BOOL type
|
2022-07-07 22:23:56 +02:00 |
|
Irmen de Jong
|
5a756aaed9
|
Pipe expression "|>" removed from the language
|
2022-06-12 18:41:42 +02:00 |
|
Irmen de Jong
|
627aa61184
|
clean up subroutine inlining, basis for new try
|
2022-05-09 15:42:58 +02:00 |
|
Irmen de Jong
|
6471c0c536
|
upgrade antlr to 4.10.1
|
2022-04-24 23:29:15 +02:00 |
|
Irmen de Jong
|
b133d51a83
|
make the parser report '&&' as an error instead of treating it as bitwise and followed by address-of.
|
2022-04-02 02:08:01 +02:00 |
|
Irmen de Jong
|
ed30108961
|
removed '**' power-operator. Use floats.pow() instead.
|
2022-03-27 13:16:34 +02:00 |
|
Irmen de Jong
|
e227cc92ff
|
new ast: regular subroutine has just 0 or 1 return type
|
2022-03-12 14:12:06 +01:00 |
|
Irmen de Jong
|
73dbdbcbe6
|
module rename
|
2022-03-11 21:24:16 +01:00 |
|
Irmen de Jong
|
a72d58cdf9
|
updated 3rd party library versions
|
2022-03-05 15:28:22 +01:00 |
|
Irmen de Jong
|
96ba895b84
|
working on altered Pipe syntax
|
2022-02-27 02:42:28 +01:00 |
|
Irmen de Jong
|
c8cd6e9460
|
removed old @"screencodes" string encoding syntax (use sc:"hello" instead)
|
2022-02-11 22:07:14 +01:00 |
|
Irmen de Jong
|
6b02f2eea0
|
implement iso encoding and new string encoding syntax, fixes #38
|
2022-01-19 21:21:32 +01:00 |
|
Irmen de Jong
|
641477d6f6
|
add @requirezp and allow str/array to be on zp (with warning)
|
2022-01-16 17:20:32 +01:00 |
|
Irmen de Jong
|
c58b8a4973
|
fix ast to source: @shared wasn't printed
fix grammar: @shared and @zp can occur in any order now in vardecl
|
2022-01-13 02:29:55 +01:00 |
|
Irmen de Jong
|
7dd7e562bc
|
pipes also as expressions, cleanup codegen, fix various typecasting issues
|
2022-01-08 13:45:19 +01:00 |
|
Irmen de Jong
|
8f3df3039a
|
added pipe operator `|> `
|
2022-01-06 22:54:18 +01:00 |
|
Irmen de Jong
|
de6ce4a46e
|
add "X in [1,2,3]" expression (efficient containment check)
|
2021-12-29 17:26:00 +01:00 |
|
Irmen de Jong
|
77c2b2b326
|
fix position of @shared in array var declarations so that the order is now type[] @shared
|
2021-12-16 20:36:05 +01:00 |
|
Irmen de Jong
|
33061aaa0d
|
fix: allow scoped variables such as cx16.rX as loop variable in forloops
|
2021-12-10 14:59:04 +01:00 |
|
Irmen de Jong
|
81deed143b
|
fix grammar problem: \x and \u escape sequences didn't work in character literals.
|
2021-12-05 18:11:40 +01:00 |
|
Irmen de Jong
|
0498444ef2
|
moved all unit tests into single project to avoid dependency issues
|
2021-12-04 18:20:22 +01:00 |
|
Irmen de Jong
|
a9b0400d13
|
fixed 'not' operator priority: it now has higher priority as or/and/xor.
|
2021-11-08 18:38:04 +01:00 |
|
Irmen de Jong
|
97836e18b2
|
simplified gradle config, automatically run installDist task after build
|
2021-10-30 12:01:52 +02:00 |
|
Irmen de Jong
|
51b2e41879
|
libs updated to maven
|
2021-10-12 03:33:52 +02:00 |
|
Irmen de Jong
|
1625e4eb85
|
rename prog8Parser (generated java) to Prog8ANTLRParser
|
2021-10-09 16:56:39 +02:00 |
|
Irmen de Jong
|
fd1f30f92b
|
removed %target directive (didn't add much, too confusing, only supported single target)
|
2021-09-04 15:01:16 +02:00 |
|
meisl
|
dcc2549574
|
* fix 47, add tests
|
2021-06-18 21:55:03 +02:00 |
|
meisl
|
fcb1a7e4d4
|
* #40: fix grammar rules module and block s.t. we don't need a "synthesized double EOF" (behavior remains exactly the same)
|
2021-06-14 22:17:30 +02:00 |
|
meisl
|
ce76a7dfa5
|
* #40: fix grammar wrt line endings - tests pass
|
2021-06-14 22:04:22 +02:00 |
|
meisl
|
7c1de81861
|
* #40: fix mixed line endings test, now intentionally failing (!): also test sole \r AND do not allow any recovery, neither from parser not lexer.
|
2021-06-14 22:02:26 +02:00 |
|
meisl
|
eddad20acc
|
Merge remote-tracking branch 'remotes/origin/master' into issue40(EOF,EOL)
|
2021-06-13 22:56:24 +02:00 |
|
meisl
|
7daad57862
|
+ #40: test for mixed (Unix/Win/Mac) line endings - *TODO: test doesn't actually fail with old grammar, but a built jar does - WHY?!*
|
2021-06-13 22:49:54 +02:00 |
|
meisl
|
3496a30528
|
* #40: put back in fix for EOL-after-block - tests pass
|
2021-06-13 20:10:35 +02:00 |
|
meisl
|
32bad5df15
|
+/* #40: add tests; temporarily undo fix for EOL-after-block so we can see that tests actually fail
|
2021-06-13 20:08:50 +02:00 |
|
Irmen de Jong
|
3f58eca1be
|
updated gradle scripts (fixed warnings), updated some library dependencies
|
2021-06-13 18:10:07 +02:00 |
|
meisl
|
e5292696c4
|
- #40 grammar: remove obsolete note about line endings
|
2021-06-13 14:38:25 +02:00 |
|
meisl
|
3aa3659bc7
|
* #40 grammar: handle different EOLs (Win, Unix, Mac) purely in grammar
|
2021-06-12 20:24:15 +02:00 |
|
meisl
|
b8117394c0
|
* #40 grammar: don't require EOL after blocks, so .p8 files need not end with that
|
2021-06-12 17:52:44 +02:00 |
|
Irmen de Jong
|
0e614ad6fc
|
added @shared flag to vardecl to mark variable as shared with assembly code elsewhere, to not have it optimized away
|
2021-05-19 01:19:25 +02:00 |
|
Irmen de Jong
|
a9a7068818
|
removed support for structs. It was too much hassle and complexity and subtle bugs.
|
2021-04-29 00:01:20 +02:00 |
|
Irmen de Jong
|
a086d6e009
|
allow labels also in blocks instead of only in subroutines
|
2021-04-18 23:03:18 +02:00 |
|
Irmen de Jong
|
b4700af2f5
|
fix windows line ending (\r\n) parse errors
|
2021-04-05 00:12:04 +02:00 |
|
Irmen de Jong
|
3378586098
|
update gradle to 6.7
|
2020-12-28 00:46:30 +01:00 |
|
Irmen de Jong
|
170a0183f8
|
added 'inline' keyword to force inlining of trivial subroutines
|
2020-12-26 05:34:14 +01:00 |
|