by Project Collectio...
Oct 1, 2012
9:24 PM

Upgrade: New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link:

by Project Collectio...
Oct 1, 2012
9:16 PM

Checked in by server upgrade

by runix
Aug 8, 2009
1:46 PM

New: Added support for prefixed blocks. Prefixed blocks are implemented as anonymous types that inherit from the specified block prefix type. Prefixed blocks are generated and executed as any normal Sim# object immediately after its definition.
Change: The TypeSymbol class is extended to generate prefixed block anonymous types as a nested type within its definition. Should not impact existing functionality.
New: Added a new test suite to test prefixed blocks, including head/tail based base classes.
Change: Corrected TestName in test suite 07.

by runix
Aug 7, 2009
1:36 PM

New: Added implicit conversion of Integer to Short Integer, with overflow check.
New: Added DirectFile, all ByteFiles, SimSet and Simulation to SystemClasses collection in SymbolTable.
New: Implemented and completed all File system class types in BasicIO, according to complete Simula86 spec. for IO System Classes.
New: Tracking all File object usage, and added implicit Closing of open files upon program exit.
Change: Moved releasing of WaitHandle from SimObject.Epilog to Coroutine procedure, to keep Epilog and Prolog free from Coroutine code.
New: Implemented SimSet and Simulation system classes.
New: Added operator overloading and support methods to Text type, in order to make Text type a better citizen in the .Net Framework. (for use in Language interop scenarios.
New: Added two new test suites for testing file IO, testing InFile, OutFile and PrintFile classes; and DirectFile and ByteFile classes.

by runix
Aug 3, 2009
10:30 AM

Change: Type definitions are now added to SymbolTable in first parse phase (moved from second parse phase in order to support forward references to type symbols - ie. use before define).
Change: Metadata is now created for methods and constructors between second and third parse phases (in addition to types, arrays and fields).
Bugfix: Field initialization when creating metadata for constructors now independent of Scope Context.
Bugfix: Changed ActualParams loading to handle parameter overflow without crashing (happens when asking for formal parameter definition that do not exist).
Bugfix: SymbolTable now defines SimObject in built-in types, and is defined before BasicIO. Type import now allows Prolog symbols to be added to SymbolTable.
Bugfix: Epilog's call their bases as last statement before returning.
Change: Environment.Error output behavior new more closely to Cim. All Errors prefixed by newline + 'Error: '.
New: Added support for generating object instances defined on same nested level (need to provide load outer instance reference as first parameter).
New: Added support for Coroutines (Quasi Parallel Sequencing). This is implemented using threads since the CLR do not yet support fibers.
Object Generation (NEW operator) now launches Coroutines right after calling instance constructors.
Code impact of coroutines is maintained within SimObject, SimProg and Environment (Resume and Call).
Synchronization of threads is done using WaitHandles and signaling.
Added virtual method Prolog to SimObject and moved type block statements from constructors into this new method.
Type blocks are now made up of Constructor (field initialization), Prolog (statements before INNER) and Epilog (statements after INNER).
Prolog method is needed in order to properly support Coroutine semantics, since we cannot return a new object instance before constructors have completed.
Prolog's call their bases as first statement in order to imitate constructor behavior.
Added method Detach to SimObject to move coroutines into detached state.
Implemented Call and Resume methods in Environment class.
New: Added TestSuite for Coroutines (TestSuite 14).

by runix
Jul 20, 2009
4:14 PM

Added support for the QUA (Qualification) operator.
Added support for THIS (local object) operator, with immediate type cast to specified type.
Added support for OTHERWISE keyword/case in INSPECT statements.
Added support for WHEN clauses in INSPECT statements.
Added better (more generic) handling of ByRef parameters (which is used in the temporary implementation for Pass-By-Name parameters).
Added automatic generation of referenced types (&-address-of types).
Added type checking for reference expressions.
Added type checking for object expressions.
Fixed bug in symbol resolving in inspected blocks, now also searching inherited members in symbol search.
Added test suite for testing inspect-otherwise, inspect-when, qua operator, and this operator.
Added implicit type conversion for reference types in both sources and destinations.
Added support for storing to named (ByRef) parameters.
Added exception handling and return value to EntryPoint method in Sim# programs (catches unhandled exceptions and writes to StdErr, returns -1).

by runix
Jul 16, 2009
10:27 AM

Added support for Labels, Goto Statements and Switches.
Added Validation of actual parameters to formal parameters.
Added TypeChecking (and type conversion) when loading ActualParameters (this was fairly complex because of implicit Outer class references for nested classes with parameters.
Fixed bug in Environment.Error function. Now writes error to StdErr, not StdOut.
Removed NewLine withholding in OutFile.OutImage method, when image is the same length as console width.
Removed printing of trailing WHITESPACE in OutFile.OutImage (several test cases needed to be updated as a consequence).
Added test suite to test Character handling (Char, Rank, OSIChar, ISORank), and switches and jumps (goto statements).

by runix
(1 download)
Jul 14, 2009
10:59 AM

Improved syntax parser to allow case insensitivity for all keywords.
Added support for reference assignments in FOR loops.
Removed INNER as allowed normal statement in syntax parser.
Added support for sub classes and concatenation (inheritance), and class argument propagation.
Added support for Inner statement in classes -> also called Top (initial operations) and Tailing (final operations), or Prolog and Epilogue.
Implemented support for complex boolean expressions (not - and - or - eqv [equivalent] - imp [implication] - and then - or else).
Fixed bug in operator precedence, operator NOT was placed to low in the hierarchy.
Fixed bug in class argument scoping. All class arguments are now elevated to .Net Fields in order to be accessible all throughout the respective class and sub classes.
Added support for IS and IN operators (object qualification).
Added support for NoText as primary identifier.
Added Virtual as attribute to MethodSymbol class (used to define virtual methods).
Changed naming of test run configuration files (TestRunxx.xml) so we an run all suites in one batch.
Added test suite to test sub classes, class concatenation, argument propagation, and complex boolean expressions and operator precedence.

by runix
Jul 12, 2009
7:28 PM

Improved symbol table scoping lookup handling of inspected symbols. Classes now support real class wide implicit inspects (BasicIO, Sysin, Sysout, and outer (parent) class lookups).
Meta data are now created for all Types, Fields and Program class before code gen phase.
All Classes now implement implicit inspect of BasicIO and Environment classes for direct lookup for procedures (methods) and System Classes.
All user defined Types (Classes) now refer to SimObject as Base Class.
Added support for parameterized constructors.
Added support for arrays (huge work).
Improved syntax parsing and semantic analysis.
Added support for reference comparison operators, and null value support.
Added static Compare method to Text value type.
Added support for Object Generator Statements (NEW operator as statement).
Added support for nested reference assignments.
Added value relation type validation.
Added type checking and automatic cast generation.
Fixed bug in actual parameter parsing related to wrong scope handling.
Fixed bug in class and procedure declarations that caused missing elevation of local variables to fields (all local variables declared in first block in the declarations should be elevated to fields).
Fixed parser bug in class declaration section and parameter specification section.

by runix
Jul 6, 2009
11:51 AM

Cleaned up parent/owner scoping in SymbolTable.
Class wide inspects now supported.
Added new test case for inner classes with methods (c09_04).

by runix
Jun 10, 2009
5:54 AM

Added solution file. Clean up references. Clean up test suite file references and execution path.

by runix
Jun 10, 2009
5:15 AM

Initial source files and projects.

by runix
Jun 9, 2009
3:29 PM

Creating folder structure.

  • 1-13 of 13 Change Sets
    • Previous
    • 1
    • Next
    • Showing
    • 10
    • 25
    • Change Sets