M2-Planet/CHANGELOG.org

150 lines
4.9 KiB
Org Mode
Raw Normal View History

2018-05-26 21:33:00 +01:00
## Copyright (C) 2017 Jeremiah Orians
## This file is part of stage0.
##
## stage0 is free software: you an redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## stage0 is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with stage0. If not, see <http://www.gnu.org/licenses/>.
* Current
** Added
Added support for global intializers
Introduced base offset local and argument load/store
Added function pointer requirement into M2-Planet
Added test24 - get_machine
Added General_Recursion to reduce complexity
Added uniqueID to purge all code segments that recreate it's functionality
Added struct Char arrays for structs
** Changed
Made String naming 100% deterministic
Broke up all_expr to simplify any manual implementations
Cleaned up function calls
Simplify variable looksup
Reused a union to reduce globals
Brought back common recursion
Reorged logic tree to reduce complexity
Simplified expression
Changed EOF detection logic to deal with unsigned bits
** Fixed
Correct bug in how \" is treated
Clean up of & when && should have been used
Made test22 for consistent
Fixed !c->a regression
** Removed
Removed need for string copying in M2-Planet
Wasted steps in stack offsets
Need for stack relative offsets
Extra stack walks
Removed need for current_function
Removed unused values
Removed legacy x86 << >> hacks at the cost of more instructions
* 0.2 - 2018-06-21
** Added
2018-05-26 21:33:00 +01:00
Added type promotion to allow progress on mes.c
Add support for anonymous unions inside of structs
Added support for passing of function pointers via FUNCTION
Added support for Local functions
Added support for EOF
Added additional debug information to M2-Planet
Added line numbers and files names for errors in parsing to help debug
Added support for close and fclose
2018-06-02 01:05:27 +01:00
Added prototype support for chmod
Added basic support for escape strings
Added support for continue
Added string_length function to string.c
Added function numerate_string for converting string to integer
Added supporting hex2char, char2hex, dec2char and char2dec functions
Added support bitwise xor
2018-06-02 02:45:48 +01:00
Added Blood-elf test
Added Hex2_linker test
2018-06-02 03:52:30 +01:00
Added M1-macro test
Added prototypes to allow functions to be independently built
Added support for debug format output to help debugging
2018-06-08 20:43:36 +01:00
Added function specific counters to make output even more deterministic
2018-06-22 02:33:50 +01:00
Added M1-macro seed to eliminate C compiler dependency for bootstrap
2018-05-26 21:33:00 +01:00
** Changed
Improving Documentation to help new programmers get functional
2018-06-02 01:05:27 +01:00
Cleaned up numerate_number to make it more general purpose
Enabled stand alone builds of calloc
Unified bitwise operations
Made string.c more independent
Created a M1-macro stub file to simplify independent builds
Created a hex2_linker stub file to simplify independent builds
Created a blood-elf stub file to simplify independent builds
2018-05-26 21:33:00 +01:00
** Fixed
Minor cleanup and removal of unneeded whitespace
Fixed outstanding bug when struct foo* foo and foo->bar was used
2018-06-02 01:05:27 +01:00
Fixed ":foo bug
Fixed "\n:foo bug
Adjusted all previous references to numerate_number to ensure output is consistent
Fixed up reader so that '\'' and "\"" work correctly now
fixed "\"" bug in string output generation
2018-05-26 21:33:00 +01:00
** Removed
2018-06-02 01:05:27 +01:00
Removed need for memset in numerate_number
Removed minimal build target as it no longer serves a purpose
2018-06-08 20:43:36 +01:00
Removed independent counters for for, while and if jumps
2018-05-26 21:33:00 +01:00
* 0.1 - 2018-02-23
** Added
Added example programs
Added first generation libc
Added first generation defs.M1
added FOR Loop support along with example
Added support for assembly statements
Added CONSTANT to the language
Added support for <. >= and > expressions
Added struct support
Added unary - and ! support
Added additional functionality such as mixed structs, do while loops, gotos and tests for the new functionality
Incorporate breaks into loops
Became Self-Hosting
** Changed
Tweaked argument processing to help mescc support
Isolated global_token to cc.c
Moved strings to the bottom of the output
Broke out globals
Started to move type information out of hard-coded logic
Started adding tests instead of examples
Put common x86 platform logic in a shared folder to reduce duplicate code
Converted from legacy M2-Planet Input.c Output.c to M2-Planet -f input.c ... -f
Minor reordering of tests
** Fixed
expanded type support to include integer arrays
Reduced the memory churn in string creation
fixed Capitalization problems
** Removed
Removed need for enum in bootstrapping
Removed need for global output list
Eliminated the global stack
Reduced library dependencies
* 0.0 - 2017-07-05
** Added
Added minimal tokenizer
Added minimal string support
Added minimal parser
** Changed
** Fixed
** Removed