1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-04 06:00:23 +00:00
Commit graph

137 commits

Author SHA1 Message Date
FellippeHeitor 4d497dd5f2 Merge branch 'unusedvariables' into development 2019-01-13 16:36:26 -02:00
FellippeHeitor 641c9d418a Fixes regression introduced with 67af468 2019-01-13 16:35:59 -02:00
FellippeHeitor 3902a36056 New "Compilation status" dialog, for when there are warnings to show. +
- Rewording of menu items;
- New menu item in the View menu to show "Compilation status" dialog;
2019-01-13 03:26:48 -02:00
FellippeHeitor 738c8d9bb5 Removes unused variables declared across qb64.bas and includes. 2019-01-12 21:09:31 -02:00
FellippeHeitor a0373492df Refines warning output for unused variables (command line). 2019-01-12 20:55:38 -02:00
FellippeHeitor 639b7549d7 Fixes incorrect detection of unused _UNSIGNED and fixed length vars. 2019-01-12 20:08:35 -02:00
FellippeHeitor d194cc8039 Displays normal and internal unused variable names in verbose warning. 2019-01-12 17:00:04 -02:00
FellippeHeitor fb346b2164 Reset uniquenumbern when compilation restarts. 2019-01-12 16:59:30 -02:00
FellippeHeitor a2114840de Shows warning when there are unused variables at CL compilation.
Also adds -v switch for verbose mode (lists unused variables).
2019-01-12 15:52:31 -02:00
FellippeHeitor da24fde08d Properly add/remove variables from usedVariableList$ 2019-01-12 15:28:58 -02:00
FellippeHeitor 96ec183746 Merge branch 'development' into unusedvariables 2018-12-31 21:03:28 -02:00
FellippeHeitor 738fe6924d Improved detection of unused variables. 2018-12-31 21:00:16 -02:00
Luke Ceddia 8f9837c803 Take LEN correctly 2018-12-23 17:40:48 +11:00
Luke Ceddia fffd0f842c Free non-array variable udt on sub exit 2018-12-22 15:29:52 +11:00
FellippeHeitor 47685d82b0 Implements unused variables indicator
An arrow to the left of the line where a variable was defined will be shown after compilation to indicate that variable hasn't been used throughout the program.
2018-11-21 00:47:46 -02:00
FellippeHeitor 745c5bc77f Fixes F5 not working in *nix systems. 2018-11-02 19:32:02 -03:00
FellippeHeitor 7fa762750b Adds support for new _RGB32 syntaxes in CONST statements. 2018-11-02 18:47:55 -03:00
SteveMcNeill 687cced581 Changes to CONST and Math Internals 2018-10-31 07:44:57 -04:00
SteveMcNeill d9392d842a Fix for $IF/$LET, without breaking $INCLUDE as previous 2018-10-29 15:53:23 -04:00
FellippeHeitor ba5292c951 Revert "Fix for $LET/$IF"
This reverts commit 4787076573.

A regression was introduced that caused $IF blocks in $INCLUDE files to be ignored.
2018-10-29 11:17:06 -03:00
Luke Ceddia 19f08b51f3 Merge branch 'varstrings_in_types' into development 2018-10-28 00:01:36 +11:00
Luke Ceddia b912bf09ee Disallow GET/PUT for variable UDTs 2018-10-28 00:00:29 +11:00
FellippeHeitor d01e3666d8 Merge branch 'development' of https://github.com/Galleondragon/qb64 into development 2018-10-25 10:07:09 -03:00
Luke Ceddia 4c94b54f10 redim _preserve 2018-10-23 21:23:13 +11:00
Luke Ceddia daf5cba518 Dynamic arrays (handles arrays in subs too) 2018-10-23 20:36:32 +11:00
Luke Ceddia 683e4f1920 Global static arrays 2018-10-23 12:53:38 +11:00
Luke Ceddia 0eb2b4307f Process nested UDT's 2018-10-22 18:35:20 +11:00
SteveMcNeill 67af468b7d Fix memory leak with PRINT USING
When USING follows another print in the same statement (such as PRINT
"123"; USING "###"; 456), it created a memory leak due to the temp
variable being created twice and only freed once.  This patch corrects
that issue.
2018-10-22 01:02:48 -04:00
SteveMcNeill 4787076573 Fix for $LET/$IF
Fix to the precompiler so $IF/$LET work as expected.  Adds ability to
see if a precompiler variable is DEFINED or UNDEFINED, to exclude
duplicate code in libraries and such.
2018-10-21 23:01:22 -04:00
Luke Ceddia 18bab24af1 Do element-wise assignment with string copy when necessary 2018-10-21 01:46:52 +11:00
Luke Ceddia 902868a7ee Allow assignment and access of variable length strings in TYPEs
To do:
 - arrays of UDT's
 - clone qbs on UDT copy
 - check for memory leaks
 - UDT's declared in subs/functions
2018-10-20 00:13:24 +11:00
FellippeHeitor 14e5866c4b Another tweak yo isnumber() 2018-10-02 23:31:43 -03:00
FellippeHeitor 78c4de7f6c Adapts isnumber() to recognize scientific notation. 2018-10-02 01:38:17 -03:00
FellippeHeitor b29a46d177 Undoes last commit; fix not as easy as initially thought. 2018-10-01 10:27:30 -03:00
FellippeHeitor f6c068ba19 Properly warns user when a non-_MEM var is used with _MEM functions.
Closes #47
2018-09-30 20:54:59 -03:00
FellippeHeitor bed68767e6 Detects if the last generated binary still exists at F5 or F11.
Closes #63
2018-09-30 19:27:05 -03:00
FellippeHeitor fcf68e093b Fixes TAB before ELSE bug for the IDE. 2018-09-18 01:03:55 -03:00
FellippeHeitor 09085b614b New attempt at adding drag/drop to the IDE. 2018-08-01 02:02:07 -03:00
FellippeHeitor 2b0dfb7381 Reverts last broken commit.
Compilation worked fine locally; another attempt will be done later.
2018-08-01 01:52:09 -03:00
FellippeHeitor 9a1b8450aa Enables the IDE to accept files via drag/drop (Windows-only). 2018-07-31 21:59:31 -03:00
FellippeHeitor 024f27a5b5 Indentation work (.bas files). No actual code changes. 2018-07-17 00:01:23 -03:00
FellippeHeitor 19fda93caf Adds .overloaded and .minargs to idstruct.
Allows more functions to be overloaded in the future, like _RGB32.
2018-07-03 00:33:37 -03:00
FellippeHeitor 6ee70f1afa Makes _RGB32 more flexible and powerful.
Existing syntax:
colour~& = _RGB32(red, green, blue)

New possible uses:
- Instead of passing identical rgb values to achieve a shade of gray, pass only 1 parameter for all color components:

    colour~& = _RGB32(51) 'same as _RGB32(51, 51, 51)

- _RGB32 can now take an optional alpha parameter, which makes _RGBA32 obsolete (although it still exists for retrocompatibility):

    colour~& = _RGB32(255, 0, 255, 30) 'same as _RGBA32(255, 0, 255, 30)

- If you want a shade of gray and also to specify the alpha level, you can pass just two parameters:

    colour~& = _RGB32(51, 30) 'same as _RGBA32(51, 51, 51, 30)

In summary:

    - 1 parameter  = red, green and blue simultaneously set.
    - 2 parameters = red, green and blue simultaneously set plus alpha level.
    - 3 parameters = red, green and blue as usual.
    - 4 parameters = red, green and blue plus alpha level (same as _RGBA32).
2018-07-01 21:46:08 -03:00
Luke Ceddia c4674e10eb Make internal/temp if it doesn't exist (closes #45) 2018-06-28 22:17:18 +10:00
FellippeHeitor 688e31c0f3 Introduces _ECHO, which will output a string to the console.
_ECHO is more of a macro than a new statement, as it'll perform the following actions:

1- Save current _DEST;
2- Switch to _CONSOLE;
3- Print the passed string (only strings accepted);
4- Switch back to previous _DEST.

None of the PRINT features such as USING, numeric variables, retaining the cursor are implemented/planned for this statement.

Closes #29
2018-06-27 23:51:09 -03:00
Emmanuel Bourg 1253c208c7 Moved the string manipulation functions into a separate source file 2018-05-25 10:47:42 +02:00
Emmanuel Bourg 648d16a2c0 Also support GNU style -h and --help options 2018-05-22 23:48:39 +02:00
Luke Ceddia a58fb4f824 Fix parsing of some file paths 2018-01-27 01:16:41 +11:00
FellippeHeitor e02a206a67 Fix: alignment of first comment line of a TYPE or DECLARE LIBRARY block.
Addresses issue #25.
2018-01-23 11:52:00 -02:00
Luke Ceddia 61cb34f635 Remove some SDL stuff that was dead weight 2018-01-16 20:56:45 +11:00