FellippeHeitor
f23ffa70c5
Proper error message when SUB/FUNCTION is left open.
...
"Unidentified open control block" was being given in those cases when identing was on.
Fix brought from Steve's repo.
2020-01-14 12:38:38 -03:00
FellippeHeitor
09f51fbc1b
Restores IDE title with x32 or x64 when a new file is opened/created.
2020-01-10 02:03:46 -03:00
FellippeHeitor
6c779ca798
Exits with an error code if the 'internal' folder cannot be found/locked.
2020-01-10 00:43:08 -03:00
FellippeHeitor
2309d05ff8
Fixes alignments of --help page.
2020-01-09 12:00:14 -03:00
FellippeHeitor
8ac94a3142
Reduces memory usage for $NOPREFIX keyword list + simplifies highlighting.
2020-01-07 07:53:12 -03:00
FellippeHeitor
dffc94b83d
Properly gets _MEM type to play nice with $NOPREFIX
2020-01-06 20:29:44 -03:00
FellippeHeitor
0bb90ad263
More fixes to hardcoded _KEYWORDS so $NOPREFIX will work.
2020-01-06 05:08:44 -03:00
FellippeHeitor
3e474f2f0b
Fixes SUB calls like SHELL _HIDE command$ for $NOPREFIX use. Also:
...
- Fixes incorrect resolution of _BIT in variable declarations.
2020-01-06 04:46:29 -03:00
FellippeHeitor
18974d56e4
Final adjustments to CONST parsing + $NOPREFIX
2020-01-06 00:36:31 -03:00
FellippeHeitor
f63358698b
Properly hijacks Steve's math CONST operations for $NOPREFIX to work.
...
These changes will allow for Steve's upcoming changes to be inserted with no issues.
2020-01-05 23:30:10 -03:00
FellippeHeitor
1ea1b66c95
Restores Steve's SUB ParseExpression
2020-01-05 20:01:52 -03:00
FellippeHeitor
a2e1ea0091
Properly detects OPTION (_)EXPLICIT to set opex_comments.
2020-01-05 19:38:22 -03:00
FellippeHeitor
fed5798523
Moves $NOPREFIX setting to prepass, so TYPEs are properly affected. +
...
- Fixes FUNCTION dim2 and FUNCTION typname2typ& to properly deal with variable types with no suffix.
- Restores Steve's Set_OrderOfOperations and EvaluateNumbers$ until a fixed version can be provided and tweaked.
2020-01-05 19:31:46 -03:00
FellippeHeitor
060284f9c3
Removes $COLOR metacommand until a fix for command line compilation comes.
2020-01-04 18:41:15 -03:00
FellippeHeitor
2ebaeab3c6
Initial implementation of $NOPREFIX
...
Allows QB64-specific keywords to be called without the leading underscore.
Per user and per project; affects nothing globally.
Allows prefixed keywords to be used even when it's set.
2020-01-04 16:13:13 -03:00
Luke Ceddia
b215c06164
More dummy qb64.bas changes
2020-01-04 23:46:20 +11:00
Luke Ceddia
4837a27dc2
Dummy qb64.bas change
2020-01-04 23:43:23 +11:00
FellippeHeitor
51710ddcd3
Renames zlib's folder so it can be updated without the hassle later on.
2020-01-02 23:00:51 -03:00
FellippeHeitor
114bd7b5a8
Adds stubs for _INFLATE$ and DEFLATE$ for OSes other than Windows.
...
These will return the unchanged text$ passed for now.
2020-01-02 17:35:02 -03:00
flukiluke
fe920f921b
Merge pull request #114 from Galleondragon/add-assert
...
Adds $ASSERTS, $ASSERTS:CONSOLE and _ASSERT condition[, message$]
2020-01-02 19:55:55 +11:00
Luke Ceddia
8a7316953c
Merge branch 'alexmyczko-patch-1' into development (PR #79 )
2020-01-02 14:34:23 +11:00
Luke Ceddia
5fd1dc589c
Update text, add -v option
2020-01-02 14:32:31 +11:00
FellippeHeitor
49f265f1c2
Adds $ASSERTS, $ASSERTS:CONSOLE and _ASSERT condition[, message$]
2020-01-01 18:20:30 -03:00
FellippeHeitor
eb7adb7503
Fixes $VERSIONINFO. Closes #110 .
...
Also: proper indenting after IgnoreWarnings was added.
2020-01-01 12:27:24 -03:00
SteveMcNeill
58b82dff13
Minor change to bit routines, added ability to ignore warnings in IDE
2019-12-04 12:30:02 -05:00
SteveMcNeill
2a56322783
Patch to $IF UNDEFINED
2019-11-27 03:04:25 -05:00
SteveMcNeill
449bdecacd
Adding ZLIB into the QB64 parts system for windows.
...
Two new keywords added:
FUNCTION _INFLATE$ (text$)
FUNCTION _DEFLATE$ (text$)
Use of these commands can compress and decompress strings using the ZLIB library.
2019-08-27 18:22:07 -04:00
SteveMcNeill
f01d13f957
Quick patch to _STRICMP. Enhancement to $COLOR not affecting line numbers.
2019-08-27 17:27:35 -04:00
SteveMcNeill
cc16eaac1c
Tweak to $COLOR processing order
...
Move $COLOR commands so they process after the precompile commands (such as $LET), otherwise they may not be included/excluded properly when between $IF blocks.
2019-08-07 09:23:12 -04:00
SteveMcNeill
e006fefb12
Change to $COLOR32
...
Made statement $COLOR:0 or $COLOR:32 so color names could be used in
either screen 0 or 32-bit screens, as the user desired.
Made routines only callable once. Multiple references will result in
error messages being given now.
2019-08-04 11:45:07 -04:00
SteveMcNeill
8fecea60a5
Added Rho's exemption for $CHECKING:OFF and arrays
...
As per here:
https://www.qb64.org/forum/index.php?topic=1348.msg105444#msg105444
2019-08-02 15:51:39 -04:00
SteveMcNeill
a885cdb524
Alter previous change to reduce error messages reported
...
CONST has more options than what the internal math routine itself
handles; it doesn't need to toss an error message whenever those pop up;
just when it's an actual math style message. This fixes that.
2019-08-02 09:25:21 -04:00
SteveMcNeill
e52009ba83
Fix to CONST crash with Integer Division by Zero error
2019-08-01 13:45:12 -04:00
FellippeHeitor
93b7001c4e
Fixes isnumber() and improves detection of scientific notation numbers.
2019-04-23 10:17:18 -03:00
FellippeHeitor
b57ca7c38b
Removes virtual keyboard references (1/2)
2019-04-14 16:42:04 -03:00
FellippeHeitor
31a855d642
Removes dead Android references.
2019-04-14 15:33:19 -03:00
FellippeHeitor
3918db63cc
Removes dead Qloud references.
2019-04-14 14:42:49 -03:00
FellippeHeitor
952856fe2c
Shows "duplicate constant definition" warnings when using command line.
2019-04-01 01:12:35 -03:00
FellippeHeitor
cb21e44e94
If merely redefining a CONST with same value, just issue a warning.
2019-03-31 20:22:53 -03:00
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
Luke Ceddia
3a0e1ae320
Move all executable code out of common.cpp; rename to common.h
2018-01-05 21:22:36 +11:00
Luke Ceddia
8151a0b8b8
Add -p switch for purging precompiled content
2017-12-31 00:33:36 +11:00
FellippeHeitor
9481dbcd16
$INCLUDE linking now points to the line number that caused the last error.
2017-11-05 17:03:26 -02:00
FellippeHeitor
a4fe64329f
Fixes condition that wouldn't allow "null" as a var name is some cases.
...
Declaring a variable called "null" was ok, but passing it to a sub was not.
2017-10-26 21:36:43 -02:00
FellippeHeitor
5a84de731f
Fix to C++ errors due to empty parameters passed to FUNCTIONS.
...
- QB64 now warns users of syntax errors in cases such as a& = _RGB32(255, , 255)
2017-10-23 10:16:06 -02:00
Luke Ceddia
8956a1ee4f
Merge branch 'errorlogging'
2017-10-23 08:19:26 +11:00
FellippeHeitor
1113a11107
And now we try to please *nix systems.
2017-10-22 17:40:59 -02:00
FellippeHeitor
f223cfe028
Restore SUB Build's "count separators" method to please Windows XP.
2017-10-22 17:16:54 -02:00
FellippeHeitor
959307033e
Avoid moving the IDE window to 0,0 in the first run (Windows).
2017-10-17 02:29:47 -02:00
FellippeHeitor
677f5cd2ea
Adds link to compilelog.txt in the Status area when compfailed = 1.
2017-10-15 19:46:16 -03:00
Luke Ceddia
1eef0d29e5
Add c++ error logging for windows too
2017-10-15 18:56:59 +11:00