LynPlexC Change Log

Version 0.01.03 2013/10/20

  • Bugfix: lbound/ubound always returning zero.
  • Re-instate support for for/next in basic mode.
  • Support random as a synonym for rnd.
  • Support seed as a synonym for randomize.
  • Support graphics as a synonym for screenres.
  • Graphics get and put statements require image to work correctly.

Version 0.01.02 2013/09/26

  • Internal code changes to error handling.
  • Internal code changes to include file handling.
  • Support sbyte, sshort and slong as synonyms for byte, short and long.

Version 0.01.01 2013/09/15

  • Bugfix: Compiler goes into infinite loop after else without if error.
  • Bugfix: next case not recognised when following if, else or similar.
  • Procedures and functions now allowed to have the same name as a type or enum.
  • Support sub (name) … end sub.

Version 0.01.00 2013/09/10

  • Functions left, right and mid now always return specified length.
  • New function centre/center.
  • Drop support for statement version of mid.
  • Drop support for lset and rset functions.
  • Support ord as synonym for asc.

Version 0.00.45 2013/07/08

  • Bugfix: #pragma push/pop not saving correctly.
  • Internal code changes to assembler generation.
  • Internal code changes to token ID handling.
  • Support limit on the maximum number of error messages but with no default.

Version 0.00.44 2013/03/17

  • Internal code changes to constant and variable names.
  • Internal code changes to error handling.
  • Variable declarations do not need as when they start with a type.
  • Type element declarations do not need as.
  • Type element names may optionally start with a dot.

Version 0.00.43 2013/03/05

  • Bugfix: Symbol followed by a colon incorrectly identified as a label.
  • Internal code changes to constant and variable names.
  • Internal code changes to parse handling.
  • Support and, or and not as logical operators.
  • Drop support for limit on the maximum number of error messages.
  • Drop support for ^ as a power operator.
  • Variable declarations do not need dim when they start with a type.

Version 0.00.42 2013/01/25

  • Internal code changes to constant and variable names.
  • Internal code changes to symmbol handling.

Version 0.00.41 2013/01/16

  • Bugfix: Line continuation not working correctly with logical and (&&) and or (||).
  • Internal code changes to constant and variable names.
  • Internal code changes to symmbol handling.
  • Internal code changes to AST handling.

Version 0.00.40 2013/01/08

  • Bugfix: Successive special characters separated by spaces incorrectly identified as compound operators.
  • Internal code changes to constant names.
  • Internal code changes to intrinsic type handling.
  • Drop support for and, or and not as bitwise operators.
  • Drop support for type suffixes for variables.
  • Constant declaration no longer requires as.

Version 0.00.39 2013/01/02

  • Internal code changes to constant names.
  • Internal code changes to procedure handling.
  • Add support for option trace on/off
  • Internal code changes to default argument passing convention.
  • Drop support for option byref/byval.
  • Drop support for option base.
  • Drop support for option nokeyword.
  • Drop support (temporarily) for sub.

Version 0.00.38 2012/12/30

  • Internal code changes to constant names.
  • Drop support for 'param' warning level.

Version 0.00.37 2012/12/19

  • Internal code changes to remove some dialect dependent code.
  • Internal code changes to constant names.

Version 0.00.36 2012/12/18

  • Drop support for '#lang' and '-lang' language options.
  • Internal code changes to dialect support.
  • Internal code changes to main compile processing.
  • Internal code changes to graphics processing.
  • Internal code changes to namespace processing.
  • Internal code changes to expression processing.
  • Internal code changes to file processing.

Version 0.00.35 2012/12/16

  • Compile with 'DISABLE_OBJINFO' defined to drop BFD.
  • Internal code changes to graphics processing.
  • Internal code changes to procedure and variable declarations processing.
  • Add put option to option statement.
  • Allow option statement within procedures/functions.

Version 0.00.34 2012/09/16

  • Show the time (as well as the date) when the compiler was built.
  • Internal code changes to type and union processing.
  • Drop support for gosub.
  • Drop restrictions on use of call (gosub).
  • Internal code changes to goto, call, return and resume processing.
  • Drop restrictions on use of let.
  • Drop restrictions on use of on error.
  • Drop support for type suffixes.
  • Drop support for default types.
  • Drop support for qb, fblite and deprecated language options.

Version 0.00.33 2012/06/14

  • Stop compiler crashing if there is no '-p' option when creating a static library.
  • Internal code changes to pre-processor.
  • Internal code changes to error reporting.
  • Stop creating strings with '$' prefix in pre-processor.

Version 0.00.32 2011/08/23

  • In select and if tests, string length used as true/false value.
  • Correctly set 'true' flag in select processing.

Version 0.00.31 2011/07/30

  • Internal code changes to gosub rtl processing.
  • Support ** as 'power' operator.

Version 0.00.30 2011/07/28

  • Drop support for forge/nextforge.
  • Internally convert all forge/nextforge to for … do … end.
  • Allow line continuation if last character is colon (:).

Version 0.00.29 2011/07/27

  • Internal code changes to inline assembly processing.
  • Support for in open statements again.

Version 0.00.28 2011/07/18

  • Prevent continuation on /*.
  • Support 0x.. etc as alternative to &h.. etc.

Version 0.00.27 2011/07/16

  • Support for … do … end.

Version 0.00.26 2011/06/22

  • Temporarily drop support for for/next.
  • Internally convert all for/next to forge/nextforge.

Version 0.00.25 2011/06/22

  • Temporarily support forge as a synonym for for.
  • Temporarily support nextforge as a synonym for next.
  • Support » or « following : or , as token for suppressing new line in put statements.
  • Drop unused options in symbol table.

Version 0.00.24 2011/05/01

  • Internal code changes to lex processing.
  • Internal code changes to compound statement processing.
  • select fully implemented.
  • Allow », « as synonym for shr, shl.

Version 0.00.23 2011/04/29

  • Internal code changes to variable processing.
  • Internal code changes to main processing.
  • Internal code changes to function parsing.
  • Internal code changes to assignment parsing.
  • Change default source file suffix to '.plc'.
  • select now defaults to true.
  • self assignment for &= and |= is now supported.
  • && and || are supported as synonyms for andalso and orelse respectively.

Version 0.00.22 2011/04/23

  • Internal code changes to statement processing.
  • Allow &, |, ~ as synonym for and, or, not.
  • Allow ^ as synonym for * as deref.

Version 0.00.21 2011/03/16

  • Internal code changes to statement processing.
  • Allow single quote characters as alternative to double quote.
  • Drop option to default to escaped strings.
  • Allow DEFINE(DEF) as an alternative to DIM.

Version 0.00.20 2011/03/05

  • Allow line continuation if last character is one of (,:+-/*\%|&_) or (..).
    • (problem with (:) after labels so not included in the above).
  • Allow support for GOSUB again (to be changed later to CALL).
  • DATE now returns ISO format date.
  • CASE is now optional in a SELECT statement.
  • Internal code changes to run time library.

Version 0.00.19 2011/02/05

  • Label parsing now handled correctly again.
  • Allow line continuation if last character is one of (,+-/\*%|&).
  • Internal code changes to lex handling.

Version 0.00.18 2010/12/11

  • Internal code changes to token class handling.
  • Drop Œ and ` as concatenation operators.

Version 0.00.17 2010/11/21

  • Support : as concatenation character.

Version 0.00.16 2010/11/20

  • Re-instate INSTRREV
  • Drop : as statement terminator.
  • Drop ' as comment.
  • Drop /' .. '/ as comment.

Version 0.00.15 2010/10/28

  • Internal changes to preprocessor.
  • Internal changes to lexer.
  • Drop support for #PRINT (Use #PUT instead).
  • Internal changes to rtl modules to drop LPRINT support.
  • Change default OPTION PLEX/BASIC to PLEX.
  • Allow ; as synonym for : as statement terminator.

Version 0.00.14 2010/10/27

  • Drop support for PRINT (except in VIEW PRINT).
  • Internal changes to reformat all code.

Version 0.00.13 2010/10/15

  • Drop use of ; for concatenation in PRINT statements.
  • Internal changes to parser.
  • Internal changes to symbol processing.

Version 0.00.12 2010/10/14

  • Drop use of $ prefix metacommands.
  • Internal changes to expression evaluation.
  • Internal changes to PRINT handling to drop LPRINT support.
  • Divert PUT call through PRINT handling.
  • Internal changes to several modules.

Version 0.00.11 2010/10/13

  • Single line comments (//) now dropped before parsing.
  • Internal changes to rename parentheses.
  • Internal changes to several modules.

Version 0.00.10 2010/10/12

  • Drop use of & for concatenation.
  • Internal changes to several modules.

Version 0.00.09 2010/10/09

  • Internal changes to DOS front end.
  • Internal changes to Win32 front end.
  • Internal changes to main modules.
  • Allow ` as synonym for & (for concatenation) and ; (for put/print).

Version 0.00.08

  • Internal changes to lex token handling.

Version 0.00.07

  • Allow WHEN as synonym for CASE.
  • Allow Œ as synonym for & (for concatenation) and ; (for put/print).
  • DROP support for LPRINT.

Version 0.00.06

  • Support IF…THEN…ELSE with PLEX syntax in PLEX mode

Version 0.00.05

  • Internal changes to version handling.
  • Internal changes to PRINT/PUT handling.
  • Drop '?' as synonym for PRINT.
  • Support DO…END.

Version 0.00.04

  • DROP support for REM.
  • Change __DATE__ to ISO format (yyyy-mm-dd).

Version 0.00.03

  • Allow OPTION PLEX/BASIC.
  • Allow PROC as synonym for SUB.
  • DROP support for GOSUB (to be added back later as CALL).

Version 0.00.02

  • Command line options can be prefixed by '/' as well as '-'
  • Always configured as 'standalone'

Version 0.00.01

  • First version after rename

lynplexc/change_log.txt · Last modified: 2014/05/28 08:31 (external edit)