Jeremiah Orians
ffe4e5f66e
better validate arguments passed
2021-10-04 20:49:44 -04:00
Jeremiah Orians
ae9e700592
Release_1.9.0
2021-10-03 09:34:22 -04:00
Andrius Štikonas
ae48dbd6cb
Add riscv64 port.
2021-10-02 11:59:21 +01:00
Jeremiah Orians
a3c14bcd1b
Fixed Memory leak, thanks melg8
2021-06-23 07:58:11 -04:00
Jeremiah Orians
d80d8a652b
Move more functionality into M2libc
2021-04-03 22:41:52 -04:00
Jeremiah Orians
46cf81af83
Replace file_print with fputs
2021-04-03 18:56:55 -04:00
Jeremiah Orians
a9d88e8e6c
Add support for -D variable and -D variable=value
2021-02-05 21:34:00 -05:00
Jeremiah Orians
8007ae9ce6
Add support for #if defined(__M2__) to enable M2-Planet specific functionality
2021-02-05 20:39:54 -05:00
Sanne Wouda
a8551f2fcd
Implement --bootstrap-mode for preprocessor
...
- // and # lines always appear in the result of read_all_tokens
- in bootstrap mode, // tokens (but not the subsequent lines) and #
lines are stripped. no preprocessing happens.
- in non-bootstrap mode, // lines are stripped and # lines stay for the
preprocessing phase
- updates tests to pass --bootstrap-mode when necessary
2021-01-09 17:38:50 +00:00
Sanne Wouda
7b8a99db3c
Add a preprocessor-only mode
...
- Very useful for testing and debugging
- Add preprocess() stub and skip compilation in preprocessor mode
2021-01-05 22:53:04 +00:00
Sanne Wouda
a18e0c1782
Add newline tokens to parse stream
...
- needed to determine start and end of macro directives
- the main parser doesn't need them, so strip out the newline tokens
before parsing to avoid changing it
2021-01-05 22:23:15 +00:00
Jeremiah Orians
921cc86ce6
First generation implemention of typedef
2021-01-02 22:00:02 -05:00
Jeremiah Orians
358b6cfb96
Fix modulus behavior that is wrong.
...
Thank you janneke
2021-01-01 16:39:27 -05:00
Michael Schierl
91bab2ef98
Close files that were fopen:ed
2020-12-21 16:57:17 +01:00
Jeremiah Orians
e7a0ecd244
Cleared out non-essential string primitives and added support for --max-string
2020-12-19 09:46:22 -05:00
Jeremiah Orians
57264eb157
Catch potential segfaulting behavior in generated binaries
2020-11-08 21:13:12 -05:00
Jeremiah Orians
71062011cd
Release 1.5.0
2020-02-01 16:21:10 -05:00
deesix
0bded017b9
aarch64: recognize the new AArch64 target architecture
...
Now, aarch64 is valid for --architecture on the command-line. Accordingly,
the global variable Architecture is set to the new AARCH64 constant.
Manual page updated.
Register size is configured to 8 bytes.
2020-02-01 21:23:49 +01:00
Jeremiah Orians
0709770730
Enabled forgotten cleanup scripts and add logic to catch ?alloc errors
2020-01-25 14:15:45 -05:00
Jeremiah Orians
f43aa4a44c
Minor tweaks to better match amd64 assembly
2019-06-03 21:01:14 -04:00
Jeremiah Orians
27cf071ee9
Release_1.3.0
2019-04-22 19:30:08 -04:00
Jeremiah Orians
420f8b62b9
1/24 working tests for AMD64 Port
2019-04-17 20:19:17 -04:00
Jeremiah Orians
d1036c60c8
First working test for ARMv7l
2019-03-09 20:22:29 -05:00
Jeremiah Orians
577f19dea9
Upgraded to 14/24 working tests
2019-02-26 18:04:49 -05:00
Jeremiah Orians
b085022577
Added initial draft of knight-posix support and first knight-posix test
2019-02-23 18:33:57 -05:00
Jeremiah Orians
a456bcc21d
Prepare for major change involving multi-arch support
2019-02-23 15:08:59 -05:00
Jeremiah Orians
9a2c6b4019
Harmonized License headers and added missing license headers
2018-10-17 19:27:06 -04:00
Jeremiah Orians
608d85b820
Fixed version number bug
2018-08-31 16:32:53 -04:00
Jeremiah Orians
95b1fe029f
Broke out OUT and FUNCTION to silence a single GCC warning
2018-08-18 15:23:58 -04:00
Jeremiah Orians
eb8b3e4eb4
Reduced Memory usage by another 50%
2018-07-26 19:51:44 -04:00
Jeremiah Orians
7833cd5660
Reduced Memory allocation from 4KB per token string to size of string
...
+ fixed null padding
2018-07-26 18:27:32 -04:00
Jeremiah Orians
c454008656
Adding initial support for global initializers
2018-06-26 17:03:17 -04:00
Jeremiah Orians
688b546281
Added debug support for M2-Planet output
2018-06-06 21:37:19 -04:00
Jeremiah Orians
cba66b015b
Catching up on enhancements
2018-05-26 16:33:00 -04:00
Jeremiah Orians
a035d955e9
Add support for anonymous unions inside of structs
2018-04-27 15:57:48 -04:00
Jeremiah Orians
3f9808a19a
Added type promotion to allow progress on mes.c
2018-04-23 21:35:27 -04:00
Jeremiah Orians
426a92ab09
Finally became self-hosting
2018-02-23 21:18:23 -05:00
Jeremiah Orians
f6752b2802
Added additional functionality such as mixed structs, do while loops,
...
gotos and tests for the new functionality
2018-01-24 20:00:22 -05:00
Jeremiah Orians
4602adb0b1
Converted from legacy M2-Planet Input.c Output.c to M2-Planet -f input.c ... -f inputN.c -o output.M1
2018-01-20 22:56:50 -05:00
Jeremiah Orians
cb866c127b
Initial prototype for struct support in M2-Planet (it is still very ugly)
2018-01-11 21:46:20 -05:00
Jeremiah Orians
92eae5b771
Started to move type information out of hard-coded logic
2018-01-11 16:31:32 -05:00
Jeremiah Orians
3b3e8f73f6
Added support for <. >= and > expressions
2018-01-09 20:45:10 -05:00
Jeremiah Orians
9fe1a878cc
Added CONSTANT to the language and fixed Capitalization problems
2017-12-19 15:44:27 -05:00
Jeremiah Orians
18e433def4
Broke out globals and now reduce the memory churn in string creation
2017-12-15 18:17:29 -05:00
Jeremiah Orians
e25401c0b8
Moved strings to the bottom of the output
2017-12-14 17:01:30 -05:00
Jeremiah Orians
b994d05d7d
Added support for assembly statements
2017-12-12 16:24:32 -05:00
Jeremiah Orians
3dd9f4c1d0
Eliminated the global stack and expanded type support to include integer arrays
2017-12-06 20:28:08 -05:00
Jeremiah Orians
32e1f700bc
Isolated global_token to cc.c and added FOR Loop support along with example
2017-11-08 18:05:54 -05:00
Jeremiah Orians
f3e3b6eb5b
Removed need for global output list
2017-11-07 19:51:23 -05:00
Jeremiah Orians
f6e2e1b89f
Make M2-Planet more mescc friendly to simplify bootstrapping
2017-11-05 17:13:02 -05:00