1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-09 18:55:12 +00:00
Commit graph

339 commits

Author SHA1 Message Date
Fellippe Heitor df56b030f1 Makes sure only vars and arrays are added 2021-07-16 02:26:14 -03:00
Fellippe Heitor e95e8a4825 Adds undeclared variables too 2021-07-16 01:23:46 -03:00
Luke Ceddia 8829518adf
Send var-address init code to maindata.txt instead of global.txt 2021-07-16 14:07:27 +10:00
Fellippe Heitor 74d2e0853a END and SYSTEM send a 'quit' signal to the IDE 2021-07-16 00:52:06 -03:00
Fellippe Heitor f0751243ef Begins work for variable watching 2021-07-15 17:00:31 -03:00
FellippeHeitor eede761f97 Allows OPTION _EXPLICIT/_EXPLICITARRAY to be anywhere.
They can be duplicate now too. And coexist.
2021-07-15 03:34:08 -03:00
FellippeHeitor ad3ae35810 Allows $NOPREFIX to be placed anywhere.
Also allows it to play nice with $DEBUG.
2021-07-15 03:14:53 -03:00
FellippeHeitor f3cd0b08bb Bypasses $INCLUDE lines ($DEBUG Mode) 2021-07-15 01:14:33 -03:00
FellippeHeitor 9f8095a212 Allows pausing more statements.
IF, SELECT, END statements were initially excluded from stepping.
2021-07-15 00:08:36 -03:00
FellippeHeitor b54de08aa3 Implements Step Over for $DEBUG mode
Using Shift+F8 when stepping line by line when on a line of code that contains a SUB/FUNCTION call, the sub-procedure lines will be run without entering the block of code, and execution will resume in the next line of code after the SUB/FUNCTION call.
2021-07-14 21:56:17 -03:00
FellippeHeitor b5cdf1590e Allows $DEBUG to be added anywhere in the code. 2021-07-14 20:34:47 -03:00
Luke Ceddia d03207e955
Link with data even when using $console:only
Closes #151
2021-07-13 16:58:12 +10:00
Fellippe Heitor 19219dbfe5 $DEBUG mode now in working state.
F9 (or clicking a line number) will toggle a breakpoint; When running a 
program, F8 will pause/step line by line, F9 will still be usable to 
toggle breakpoints and F5 will continue execution. ESC exits $DEBUG 
mode.
2021-07-11 21:05:03 -03:00
Fellippe Heitor 7b853bf9f2 First attempt at implementing Step. 2021-07-11 12:55:49 -03:00
Fellippe Heitor b59aa4d7af Begins prototyping a $DEBUG metacommand. 2021-07-09 08:08:49 -03:00
Zachary Spriggs 272b68ddcf Automatically generate manifest file and link
Automatically generate and link manifest file to EXE if a version info value is set. The XML file will use CompanyName, ProductName, and FileDescription as values. This will allow for use of Common Controls v6.0 without keeping a manifest file in the same directory as the executable.
2021-07-07 23:20:38 -04:00
Fellippe Heitor 29d01706e2 Normalizes help references for internally handled commands. 2021-06-23 16:38:41 -03:00
Fellippe Heitor 6181fe54e4 Adds "quick reference" look up for the IDE.
Shows a quick syntax reference once it detects what command one is 
trying to use
2021-06-20 00:04:08 -03:00
Luke Ceddia 7cc7618b8c
Revert 21984092 & 3c829db8 due to compiler failures introduced 2021-06-14 17:59:39 +10:00
Fellippe Heitor 219840929e Turns DEPENDENCY_... into variables instead of Consts 2021-06-03 00:04:02 -03:00
Fellippe Heitor 9d08c78dfc Prevent errors with literal string Consts 2021-05-27 20:08:45 -03:00
Fellippe Heitor 9d20796505 Prevents CONST errors with string functions.
CHR$ et al are not allowed in CONSTS. That's explicit now.
2021-05-21 21:02:20 -03:00
Zachary Spriggs 8484d0fb14 Revert "Fix bug with _BIT variables in functions"
This reverts commit b023f4074b.
2021-04-09 18:07:38 -04:00
Zachary Spriggs b023f4074b Fix bug with _BIT variables in functions
This fix references forum post https://www.qb64.org/forum/index.php?topic=3794.msg131521#msg131521

A C++ error would occur when using a `_BIT` variable as a function argument because our current handling of the translation would reinitialize the variable in the function. This is called shadowing a parameter. I have commented out the line that was causing the error. The code that was provided in the forum post works successfully with this fix.
2021-04-09 12:35:51 -04:00
Zachary Spriggs 3062ca078a
fix indentation 2021-03-19 10:12:29 -04:00
Zachary Spriggs 92865ace3b
Makes $CONSOLE:ONLY set _Source to _Console
With v1.5 release, _Dest _Console would automatically be set but not _Source _Console. This change sets the _Source to _Console.
2021-03-19 10:11:31 -04:00
Doug Kearns f6f7de6d87 Fixes sloppy parsing of array sub arguments
The following now produces a syntax error for the missing closing
parenthesis of the parameter list.

E.g. sub foo(bar(): end sub
2021-03-14 20:30:15 +11:00
Fellippe Heitor 16109a1d42
Merge pull request #144 from dkearns/fix-missing-source-file-message [ci-skip]
Fixes whitespace of missing source file error message
2021-03-09 08:49:43 -03:00
Doug Kearns b8e43388da Fixes whitespace of missing source file error message 2021-03-09 22:35:11 +11:00
Doug Kearns e21a84c170 Fixes the exit status for invalid -s args 2021-03-07 22:54:32 +11:00
Fellippe Heitor a7bdcfe053 Prevents CONST from being used between SUBs. 2021-02-26 00:51:07 -03:00
Doug Kearns 45d1fed31f Changes metacommand parsing to match QuickBasic 4.5
QB45 allows multiple metacommands to appear in a single line and
$INCLUDE is not required to be the last.

Only the last appearance of $INCLUDE, and of $DYNAMIC or $STATIC, is
processed. Earlier appearances of metacommands are ignored.

E.g., the following includes only b.bas and configures static array
allocation
REM $INCLUDE:'a.bas' $DYNAMIC $INCLUDE:'b.bas' $STATIC
2021-02-21 23:45:24 +11:00
Fellippe Heitor 156996b4f9 Warns user that labels are not valid between subs. 2021-02-20 20:37:37 -03:00
Fellippe Heitor 7a26a4a5ba Fixes layout of $IF blocks with operators like >, <, etc. Also:
Colorizes internal special variables/values as part of the $IF 
metacommand. (DEFINED, UNDEFINED, WINDOWS, WIN, LINUX, MAC, MACOSX, 
32BIT, 64BIT, VERSION).
2021-02-18 15:07:07 -03:00
Fellippe Heitor 1272892425 Fixes $LET being incorrectly placed in the IDE while editing. 2021-02-15 21:22:57 -03:00
FellippeHeitor 731e9cd0df Fixes low ASCII characters showing up in Warnings box. 2021-02-14 00:53:14 -03:00
Fellippe Heitor a08d90bd65 Fixes CONST names not maintaining case in STRING * const
DIM variable AS STRING * const would have CONST always turn capitals or 
camel case.
2021-02-10 18:18:41 -03:00
Fellippe Heitor 7492260746 Fixes warning dialog showing weird characters. 2021-02-09 17:27:40 -03:00
Fellippe Heitor 1c5711f15e Retreats 'shift+enter to close block'.
Until a more efficient approach comes up, at least.
2021-02-08 10:58:02 -03:00
Fellippe Heitor 8c1b05f428 Fixes console colors during compilation (*nix).
Turns out the color palette isn't really the same as in Windows.
2021-02-08 07:56:43 -03:00
Fellippe Heitor eac3074e30 Incorporates INI-Manager to deal with the settings file.
Allows for multiple IDE instances using the same config file by default.
2021-02-07 22:01:53 -03:00
Fellippe Heitor 249d0549eb Fixes highlighting of scientific notation numbers. Again. 2021-02-06 18:27:00 -03:00
Fellippe Heitor d9467b4930 Removes "yet" from error messages. 2021-02-06 01:02:25 -03:00
Fellippe Heitor 711e6860bc Adapts isnumber() to recognize number literals with type suffixes. 2021-02-05 17:59:17 -03:00
Fellippe Heitor 8d78700c11 Fixes CONST failing in CamelCase mode with logical operators. 2021-02-05 00:57:05 -03:00
Fellippe Heitor 70ea149168 Offers to auto-close blocks with Shift+ENTER 2021-02-04 22:21:31 -03:00
Fellippe Heitor ef8de59aee Prevents deletion of latest.txt. Also:
Restores case of keywords in qb64.bas.
2021-02-03 14:26:17 -03:00
Fellippe Heitor 13d35dbe6c Missing 'Exit Sub' in CamelCase formatter 2021-02-03 14:08:40 -03:00
Fellippe Heitor fff40a315e Extra touches to CamelCase (NOT, AND, etc). 2021-01-31 14:45:58 -03:00
Fellippe Heitor 59155c4481 Adds the ability to have CamelCase for internal keywords. 2021-01-31 03:44:38 -03:00
Fellippe Heitor 7a1ecd78f9 Fixes bug in CONST evaluator.
As described in https://www.qb64.org/forum/index.php?topic=1303.0
2021-01-29 02:28:28 -03:00
Fellippe Heitor e6b74afbba Replace SUB/FUNCTION accordingly like QB4.5 did
In EXIT SUB/FUNCTION and END SUB/FUNCTION statements.
2021-01-28 18:52:50 -03:00
Luke Ceddia bf1d6664e9
Add pre-compiler VERSION and $ERROR 2021-01-27 22:23:28 +11:00
Fellippe Heitor 9e92d13f70 Adds more descriptive error message for Duplicate Label 2021-01-26 21:01:23 -03:00
Fellippe Heitor 25dbf1ad1f New AS TYPE element-list syntax for TYPE. 2021-01-26 12:27:18 -03:00
Fellippe Heitor fd0b44aee4 Extends the new DIM syntax to SHARED (subs)
e.g. SHARED AS _BYTE array(), index
2021-01-26 04:01:36 -03:00
Fellippe Heitor 61796209bd Implements new alternative syntax for DIM/REDIM/STATIC
DIM AS data-type variable1, variable2, ...
2021-01-26 02:21:24 -03:00
Fellippe Heitor 0199534a31 Automatically calls _DEST _CONSOLE internally when $CONSOLE:ONLY is used.
_DEST can be changed later in the program by the user, as usual.
2021-01-25 22:04:31 -03:00
Fellippe Heitor d5ac71f8a9 Gives more descriptive message for "Label not defined". 2021-01-22 23:22:19 -03:00
FellippeHeitor 933ba12d5b Dead code removal. 2021-01-20 21:53:46 -03:00
FellippeHeitor 7916be2e3e Show eventual substitutions even if Find and Replace is canceled. 2021-01-18 02:25:38 -03:00
FellippeHeitor 6a134929a9 Puts _ERRORMESSAGE$ to good use. 2021-01-18 00:19:33 -03:00
FellippeHeitor 45d483a4ab Unifies compilation progress bar (no console mode) with CHR$(219).
We'd have four different progress bar styles,... now we keep having three.
2021-01-15 20:27:51 -03:00
FellippeHeitor abcb77596d Removes third person singular from help page.
Removes unused variable in SUB manageVariableList
2021-01-14 11:25:57 -03:00
Luke Ceddia f2ce507d4e
Add -w, -m options 2021-01-15 00:09:45 +11:00
Luke Ceddia 7633a64ccb
Show warnings with -v -q 2021-01-14 22:45:27 +11:00
FellippeHeitor 2ce9afe739 Makes colored output default for command line compilation. 2021-01-13 23:54:20 -03:00
FellippeHeitor 4dd5d11c8c Improves console output in verbose mode. 2021-01-13 21:19:21 -03:00
FellippeHeitor 9755992de9 Adds colored output to verbose mode (-vc switch). 2021-01-13 19:01:30 -03:00
FellippeHeitor c9ac352d87 Improves warning system to add $include info. 2021-01-13 17:51:40 -03:00
FellippeHeitor 28c2bd9b49 Merge branch 'development' into ideimprovements 2021-01-13 11:16:18 -03:00
FellippeHeitor c0c59706ce Likely reason for incorrect line number reports for open SUB/FUNCTIONs. 2021-01-13 11:08:32 -03:00
FellippeHeitor 1e11ff17b6 Begins changing warning system to consider includes. 2021-01-13 10:57:58 -03:00
FellippeHeitor aef35c96e1 Makes idegotobox a SUB. 2021-01-13 02:07:22 -03:00
FellippeHeitor c4ba4bb381 Fixes _MEM udt's new element .SOUND 2021-01-01 23:38:04 -03:00
FellippeHeitor bd54eb0f39 Attempts at implementing _MEMSOUND 2020-12-31 01:40:54 -03:00
FellippeHeitor fab894ae72 Adds warning when empty SELECT CASE block is found. 2020-12-18 02:17:57 -03:00
FellippeHeitor 7db658b781 Prevents code before 'CASE condition' in a SELECT CASE block 2020-12-18 01:30:42 -03:00
Luke Ceddia 272f877725
Add -q for quiet mode 2020-11-04 23:03:47 +11:00
FellippeHeitor f3b92c353a Implements EXIT SELECT/CASE.
Allows breaking out of a SELECT CASE block or skip to the next evaluation CASE (for SELECT EVERYCASE) blocks.

In SELECT CASE blocks, EXIT CASE is the same as EXIT SELECT.
2020-09-07 14:40:04 -03:00
Luke Ceddia 860e6cad57 $CONSOLE:ONLY on Linux no longer pulls in GL/X11 libs 2020-07-15 22:25:57 +10:00
Luke Ceddia 3ac1244df5 Add OPTION _EXPLICITARRAY 2020-07-15 21:31:11 +10:00
Luke Ceddia c165592d41 Add extra casts in UDT string access for clang 2020-07-12 16:11:56 +10:00
Luke Ceddia b5e896d07b Tentative fix for custom array lbounds with $checking:off 2020-06-21 00:45:55 +10:00
Fellippe Heitor dcaadfba21 Fixes IDE not keeping last session window size
Issue usually shows up on macOS, but fix is global, as it's not likely to cause issues in other OSes.
2020-02-27 22:53:01 -03:00
FellippeHeitor ddb3004425 Prints QB64 version when compiling with -c and adjusting -s settings. 2020-02-24 20:59:18 -03:00
FellippeHeitor 7ee6a3d810 Gets zlib to link statically in Windows and Linux.
Dynamic linking on macOS is ok since zlib is natively available.
2020-02-07 22:36:30 -03:00
FellippeHeitor 03ba53e9c5 Fixes $EXEICON to work when $CHECKING:OFF is enabled. 2020-02-06 11:49:49 -03:00
FellippeHeitor 2a34a20cdc Allows math with scientific notation numbers in CONSTS. 2020-01-29 03:09:23 -03:00
FellippeHeitor 53dcec5603 Fixes CONST PreParse when using existing CONSTS stored as _FLOAT. 2020-01-29 02:36:15 -03:00
FellippeHeitor 814f5be495 Reduces console updates even more. 2020-01-22 15:11:15 -03:00
FellippeHeitor bd7a6757d0 Reduces percentage updates for console compilation. 2020-01-22 14:59:30 -03:00
Fellippe Heitor e53be8c540 Trigger ci to test new console output 2020-01-22 14:25:31 -03:00
FellippeHeitor a7db724da0 Stops screaming. Adds progress bar to command line compilation. 2020-01-22 12:52:15 -03:00
FellippeHeitor f944e86b38 Allows -s switch to change settings and process other parameters. 2020-01-22 02:01:29 -03:00
Fellippe Heitor e0476b04b7 Merge remote-tracking branch 'origin/zlib-multiplatform' into development 2020-01-19 11:25:09 -03:00
Fellippe Heitor da9169706c Merge remote-tracking branch 'origin/invalidlines-usebyte' into development 2020-01-19 11:24:54 -03:00
Fellippe Heitor e27f1bf29b Merge remote-tracking branch 'origin/fix-include' into development 2020-01-19 11:24:21 -03:00
FellippeHeitor ac268c740b Simplifies usage of zlib across platforms. 2020-01-18 18:48:10 -03:00
Fellippe Heitor 44c80201f2 Gets _DEFLATE$ and _INFLATE$ to work on macOS. 2020-01-18 17:50:24 -03:00