FellippeHeitor
d1249d25d5
Send the IDE data when the proram is closing via X button.
2021-07-19 18:08:04 -03:00
FellippeHeitor
bfe081b421
Handles STOP as a regular breakpoint in $DEBUG mode.
2021-07-19 02:30:16 -03:00
FellippeHeitor
05d5086682
Prevents "ghost" variables from being added to watch list.
2021-07-19 02:29:13 -03:00
FellippeHeitor
de236d4a5f
Uses ENVIRON to set send the port number to the debuggee. Also:
...
- Limits sending "call" info to the IDE (not to hog the communication channel)
- Add $INCLUDE info to call stack.
2021-07-19 00:59:54 -03:00
FellippeHeitor
2f61b9e541
Tweak to previous commit.
...
`id` can change from the initial line to the last on in this commit. These changes prevent issues with that.
2021-07-18 22:16:16 -03:00
FellippeHeitor
8d35b87fd1
Initial implementation of call stack ($DEBUG).
2021-07-18 22:02:41 -03:00
FellippeHeitor
c59cef04d7
Allows sub/functions to be reported in $INCLUDEs.
...
Reorganizes source/utilities.
2021-07-17 17:25:48 -03:00
FellippeHeitor
df691cc3f2
Adds code to send "end signal" even with $CHECKING:OFF. ($DEBUG)
2021-07-17 17:11:02 -03:00
Fellippe Heitor
ae887507c2
On error, report back to the IDE. ($DEBUG)
2021-07-16 23:18:46 -03:00
Fellippe Heitor
78fb2ff1b9
Reduces parameters in SUB_VWATCH()
...
Since `vwatch_linenumber` is a shared variable, it doesn't need to be
passed to `SUB_VWATCH()`.
2021-07-16 18:51:35 -03:00
Fellippe Heitor
88e2a1fa83
Nooooow it seems proper.
2021-07-16 12:11:41 -03:00
Fellippe Heitor
8d29964587
Reenables detection of undefined arrays.
2021-07-16 12:06:06 -03:00
Fellippe Heitor
4e5c35bb7f
Prevents 'fake' variables from showing up.'
2021-07-16 11:59:17 -03:00
Fellippe Heitor
af2de0f24e
Merge development
2021-07-16 09:25:13 -03:00
Luke Ceddia
809c1fe016
Fix cast of vwatch_local_vars
2021-07-16 16:29:04 +10:00
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
FellippeHeitor
74467c274b
Replaces inefficient _BIT with _BYTE for InValidLine() array.
2020-01-18 03:49:23 -03:00
FellippeHeitor
ccb754d4e4
Prevents $NOPREFIX to be set after any other statement.
2020-01-18 01:33:29 -03:00
FellippeHeitor
e30f19b38a
Makes $COLOR constansts an external includable file.
2020-01-18 00:20:54 -03:00
FellippeHeitor
2bf3dd146b
Fixes string concatenation in consts
2020-01-17 19:08:29 -03:00
FellippeHeitor
834ccb2519
Removes "force include"; removes the need for source/embed/*
2020-01-17 18:57:29 -03:00
Steve McNeill
c4f28baaee
Fix to $COLOR to work via command line. Renamed ColorHack to ColorConst for Fellippe. ;D
2020-01-15 22:52:39 -05:00
Steve McNeill
f28d492d3f
Fix to return $COLOR to QB64.
2020-01-15 20:51:48 -05:00
FellippeHeitor
1196fcb6dd
Simplifies CONST parsing and passing to Evaluate_Expression$().
2020-01-15 17:07:17 -03:00
FellippeHeitor
2311e6ad47
Restores CONST lookup (consts refering to consts).
2020-01-15 02:31:03 -03:00
FellippeHeitor
53a6acca28
Merge branch 'keyword-prefix' into development
...
Adds $NOPREFIX metacommand. Removes $COLOR metacommand.
# Conflicts:
# source/qb64.bas
2020-01-15 00:40:52 -03:00
FellippeHeitor
4afde87e04
Restores check for division by zero in consts. Also:
...
Prevents cases like 'CONST a = *'.
2020-01-15 00:02:35 -03:00
FellippeHeitor
3611234288
Finishes importing Steve's CONST support patches and +
...
Prepares Math evaluator to deal with $NOPREFIX.
2020-01-14 20:05:34 -03:00
FellippeHeitor
f49d822a11
Imports Steve's Math Evaluator:
...
As per Steve:
"Math support finalized with new evaluator.
Completely redid the math evaluator. It's fancy, functional, and much more efficient than the old one."
2020-01-14 13:19:07 -03:00
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