1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-02 15:41:43 +00:00
Commit Graph

29 Commits

Author SHA1 Message Date
Flight_Control
1a53d6a913 - Refer .asm library imported global variables to the the namespace where the global variable resides.
- Generalized the AsmLibrary procedures to symbols, to also allow exporting variables.
- Removed the initialization part of .asm library header generation for global exported variables.
- The directive __asm_export can now also be used to indicate global variables exporting within C libraries (for potential .asm library generation).
- Converted the usage of typedef to struct for __conio global variable in cx16_conio.c
- Updated example code.
- Fixed a bug where for exported structs and imported structs, the variables were defined as volatile to non-volatile.
- VariableBuilder constructor now also received the program variable to refer to program level configurations defined.
- Remove to declare string constants as .asm library exported global variables.
- Removed the optimization PassNAsmLibraryGlobalVarsExport. It is not needed. Each global variable export must be explicitly declared using asm_export or __asm_export.
- Improved naming of variables and procedures to retrieve and manage import and export libraries within the program.
2024-04-26 12:44:28 +03:00
Flight_Control
00df07b7bf - Fixed test cases. Full retest of all test cases.
- Treat global variables of libraries, as part of the .asm library .namespace.
- Fix bugs.
- Assign meaningful struct names to .asm internal variables and labels. (Remove the $x notation).
2024-04-20 07:03:31 +03:00
jespergravgaard
185bd439e4 #815 more procedure compilation 2023-04-06 22:46:28 +02:00
jespergravgaard
41c257a9df Fixed literal strings initializing char* in array or struct. Closes #297 2021-08-02 11:21:18 +02:00
jespergravgaard
8b2186e634 Added volatile/const booleans to SymbolType. So far they are always false! 2021-04-16 08:54:02 +02:00
Jesper Gravgaard
76edc3b8c8 Moved ArraySpec to SymbolTypePointer. 2021-04-12 20:57:46 +02:00
jespergravgaard
096d7c0640 Cleaned up scope getters. Might have caused a slow-down of compilation. 2020-04-09 22:17:33 +02:00
jespergravgaard
fda0940062 Work in progress: eliminating SymbolType.STRING 2020-02-06 22:20:53 +01:00
jespergravgaard
cff815f5d7 Restructured Variable creation to make it more explicit what type is being created. 2019-12-08 17:49:14 +01:00
jespergravgaard
59ab4e0eb1 Improved variable constructors. Improved constant comments. 2019-11-23 23:46:46 +01:00
jespergravgaard
f3c388b753 Implemented ArraySpec 2019-11-21 23:37:53 +01:00
jespergravgaard
ecccf55a08 Moving array properties from type to variable. A few tests still failing. 2019-11-18 22:02:29 +01:00
jespergravgaard
c7d5be3962 Renamed to Variable. 2019-11-01 20:46:10 +01:00
jespergravgaard
fd307776ae Removed ConstantVar class (using SymbolVariable instead). 2019-11-01 19:49:21 +01:00
jespergravgaard
dc08f86302 Working on stack-parameter-passing. Split calls into prepare/execute/finalize. Still some clobber problems and results are not pushed. #316 2019-09-22 22:20:45 +02:00
jespergravgaard
dbb6ce5933 Added support for #pragma code_seg() and #pragma data_seg(). #113 2019-08-09 22:38:33 +02:00
jespergravgaard
126813ff4e Implemented local scopes for blocks - enabling reuse of variable names (for instance in for loops). Closes #64 2019-03-30 00:15:53 +01:00
jespergravgaard
63badba136 Removed a bit more logging. 2018-08-23 00:24:33 +02:00
Jesper Gravgaard
f17422a564 Renamed ValueReplacer classes to ValueIterator to better illustrate the generic nature. 2018-07-22 16:02:51 +09:00
Jesper Gravgaard
f9449997cb Refacing ValueReplacer 2018-07-21 23:29:11 +09:00
Jesper Gravgaard
1fa3d8bbbf Moved statements, symbols and values into packages 2018-03-06 20:54:52 +01:00
jespergravgaard
4d46820cf4 Reformatted for code style. 2018-01-01 21:25:11 +01:00
jespergravgaard
bb0aeb9e3b Implementing fast multiplication KC program. 2017-12-28 01:50:55 +01:00
jespergravgaard
4a7dd31d40 Fixed word constructor detection to detect all inline word constructors. 2017-12-27 21:47:07 +01:00
jespergravgaard
212e8572de Improved constant string detection. Type System is still a bit of a mess. 2017-12-27 20:52:38 +01:00
jespergravgaard
8a1dbc36d7 Refactored recursive value replacement into ValueReplacer. Moved VariableReplacer to a simple ValueReplacer. Added test for true inline word constructors. 2017-12-27 13:40:55 +01:00
jespergravgaard
e3353acbc9 Implemented syntax for composing word from two bytes word w = { b1, b2 };
Optimizer still needs to attempt to (and allow) placing the two byte variables directly at the lo/hi-vars of the word wo minimize moving data around.

Closes #37
2017-12-25 23:27:54 +01:00
jespergravgaard
deb1304ba6 Added pass 1 base class. Added test for unused vars. 2017-11-30 21:51:13 +01:00
jespergravgaard
1c59ae231e Fixed problem with inline string by extracting them as local constants. Closes #98 2017-11-29 21:31:20 +01:00