Bay Six Software Forum Index Bay Six Software
Beyond the Basics
 
 FAQFAQ   SearchSearch   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Change log for 2023

 
Post new topic   Reply to topic    Bay Six Software Forum Index -> ViviFire language
View previous topic :: View next topic  
Author Message
Brent
Site Admin


Joined: 01 Jul 2005
Posts: 797

PostPosted: Feb 13th, 2023, 8:33pm    Post subject: Change log for 2023 Reply with quote

2023-01-22 Add tests for errors when 'Exit' or 'GoTo' used in 'Finally'
2023-01-22 Update copyright
2023-01-28 Add 'TolExpression'. Change 'AssignmentStatement', 'ConditionalExpression', 'DoStatement', 'Expression', 'IfBlockStatement', 'IfStatement', 'SelectStatement', 'WhileStatement'. Add support for 'Var s = Sub ...'.
2023-01-28 Add support for 'Exit Constructor'
2023-01-29 'IsNamedArgument': Add a rough heuristic to warn about possible syntax error with '=' and ':='

2023-02-01 'CallStatement', 'ConstructorStatement': Add tests for errors 'CALL CONSTRUCTOR is available only in a CONSTRUCTOR' and 'CONSTRUCTOR VAR cannot have a parameter list'
2023-02-07 'ExitStatement': Add test for error 'CALL BASE is available only in a CONSTRUCTOR'
2023-02-13 Remove 'Int', 'Real', and 'UInt' as primitive data types
2023-02-17 Change conditional compilation from directives (@If...@Else...@End) to statements (Const If...Else...End If)
2023-02-21 Tokens 'string_literal' and 'malformed_string_literal': Remove commented out parts
2023-02-27 Add command line switch '-t' to display time elapsed
2023-02-27 Change invocations of macro 'ID()' to use constants 'STMT' and 'EXPR'. These values are switched with each other.

2023-03-03 'NamedString': Change names of some time constants (eg, $TIME_24_SEC becomes $TIME_24HMS). Fix case-sensitivity bug.
2023-03-07 'StringExpression': Remove vector v and use wstring res directly. Conditionally print res if arg '-v2' or greater.
2023-03-09 'Deprecated': Divide '@' and 'Deprecated' into two tokens. Add 'OptionalNewline'.
2023-03-09 'EnumMember', 'EnumStatement': Permit many constants on the same line with semicolons. Add 'SyncSeparator'.
2023-03-17 'Argument', 'ConcatenationExpression': Remove unnecessary tests for ampersand errors which are no longer possible
2023-03-26 'option': Add 'Mod_floored'. Change 'When_id_Begin_id' to 'When_Begin_id'.

2023-04-01 Add union 'Modif::arg' AKA 'ModifArg'. Update copyright.
2023-04-01 Add arguments for modifier `@SI`: BINARY, LARGE, and SMALL
2023-04-02 'EnumStatement', 'SelectStatement': Add new modifier `@Strict` to make sure enumeration constants obey special rules
2023-04-10 Change 'fixed_literal' to a prefix of 1 or 2 characters. Remove 'malformed_fixed_literal'. Change 'PrimaryExpression' to handle numerics with the new 'NumericExpression'. Fixed literals can be prefixed or suffixed with `@`.
2023-04-18 Change 'DivFunction' to 'DivisionFunction'. Add new functions 'Mod' and 'Rem' that return the first arg if the second is zero.
2023-04-20 Identifiers can use the characters micro and mu. Add pragma 'bad_identifier' to find incorrectly encoded files, missing the BOM preamble. This problem causes the scanner to assume ANSI encoding.
2023-04-25 Add new function 'HasWhitespace'. Use it in 'AssignmentOperator' and 'NumericExpression'.
2023-04-26 'GotoStatement': Change 'Expression' to 'TolExpression'

2023-05-03 'SyncNewline': Move 'Get()' to before 'Err()'
2023-05-14 'NumericExpression': Combine duplicate strings; Do test for invalid chars in fixed literal; Make sure error always refers to the first char
2023-05-20 Move enum 'mods' and array 'm_name' into macro 'NAME_STRING_PAIRS'. This makes sure that the two do not become out-of-sync.
2023-05-21 'Modifier': Prevent whitespace after at-sign. 'NumericExpression': Prevent fixed literal with two at-signs.
2023-05-21 Make as many strings into Unicode as possible
2023-05-23 Refactor 'NumericExpression' to remove 'UnitExpression' and add recursion
2023-05-26 Change class 'param_type' to 'param_validator'. Change method 'modifier' to 'add'. Add method 'none'. Make sure Property's Set procedure has one parameter.
2023-05-26 'PropertyStatement': Cannot use GET with `@WriteOnly`, SET with `@Iterator` or `@ReadOnly`, `@Iterator` with `@WriteOnly`
2023-05-26 Fix incorrectly lexing of `@modif1@modif2` as 'typed_identifier'
2023-05-28 'PropertyStatement': Cannot use GET with `@WriteOnly`, SET with `@Iterator` or `@ReadOnly`, `@Iterator` with `@WriteOnly`
2023-05-28 'Module': Make 'Program' and 'Library' clauses optional, where 'Program' is the default

2023-06-04 After upgrade to VS2022, comment out line that caused a new error
2023-06-21 Add 'EventName', 'SimpleNonCallExpression'. Change 'QualifiedName' to return a string. Change several uses of 'QualifiedName' to 'EventName', 'SimpleExpression', or 'SimpleNonCallExpression'.
2023-06-21 'CallStatement': Hack lets it use 'UnenclosedArgumentList' again (eg `Call test 123`)
2023-06-24 'CallStatement': Make the hack better. Add test for right bracket.
2023-06-27 'StringValue': Throw exception (`out_of_range`) for bad char codes

2023-07-29 Replace token `date_literal` with subtokens parsed by `DateTimeExpression()`. Add `IsDateTime()`. Calls to these functions move from `PrimaryExpression()` to `NumericExpression()`.

2023-08-08 Add several calls to `ResetPeek()` when a function calls `Peek()` more than one time
2023-08-20 Change syntax and semantics of `Constructor Var`. Parameters become mandatory and `Call Constructor` becomes optional.

2023-09-13 `TolExpression`: Make `real_literal` optional
2023-09-18 Change conditional expression syntax to be more like Ada
2023-09-18 Make friendlier error messages for unbalanced parentheses

2023-10-05 Add new modifier `@Test` for unit testing
2023-10-23 Correctly parse all syntaxes of `@Option` in the manual

2023-11-18 For loops, change `Begin...When` to `Exit When...When`, add `When Begin`, change `@Option When Begin ID` to `... When ID`

2023-12-11 Remove remaining code related to `Begin...When`. Give better error when loop starts with `Exit` without `When`.
2023-12-24 'MultiplicativeOperator': Warn if `Mod` and `Rem` are used although they are the same operation

_________________
Brent


Last edited by Brent on Jan 2nd, 2024, 3:27am; edited 14 times in total
Back to top
View user's profile Send private message Send e-mail
Brent
Site Admin


Joined: 01 Jul 2005
Posts: 797

PostPosted: Dec 12th, 2023, 6:07pm    Post subject: Re: Change log for 2023 Reply with quote

Go to http://vivifire.com to download the latest demo and source code.
_________________
Brent
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    Bay Six Software Forum Index -> ViviFire language All times are GMT
Page 1 of 1
Jump to:  
Quick Reply
Username:
Message:
   Shortcut keys: Alt+Q to activate, Alt+P to preview, Alt+S to submit
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum



Lo-Fi Version
Powered by phpBB © 2001, 2005 phpBB Group