brainmess.git
5 years agoAdd custom dictionary so code analysis doesn't complain about Brainmess
Michael Welch [Thu, 16 Feb 2012 23:18:06 +0000 (17:18 -0600)] 
Add custom dictionary so code analysis doesn't complain about Brainmess

5 years agoGet 100% code coverage on Interpreter (lost it in a recent refactoring)
Michael Welch [Thu, 16 Feb 2012 23:06:55 +0000 (17:06 -0600)] 
Get 100% code coverage on Interpreter (lost it in a recent refactoring)

5 years agoMisc
Michael Welch [Thu, 16 Feb 2012 04:05:22 +0000 (22:05 -0600)] 
Misc

5 years agoAdd default constructor to fix Microsoft Code Analysis warning regarding default...
Michael Welch [Thu, 16 Feb 2012 04:05:07 +0000 (22:05 -0600)] 
Add default constructor to fix Microsoft Code Analysis warning regarding default value.

5 years agoFix typo in TestAndJumpForward
Michael Welch [Thu, 16 Feb 2012 04:04:34 +0000 (22:04 -0600)] 
Fix typo in TestAndJumpForward

5 years agoCleanup
Michael Welch [Thu, 16 Feb 2012 03:35:47 +0000 (21:35 -0600)] 
Cleanup
Interpreter - Documentation and make all parameters to constructor optional.
ProgramStream - Fetch now skips over no op instructions unless it's at EndOfProgram
String - Refactor to remove duplication. Now there is only one instance of algorithm. (Not two mirror copies)

5 years agoDocument IProgramStream
Michael Welch [Thu, 16 Feb 2012 02:44:58 +0000 (20:44 -0600)] 
Document IProgramStream

5 years agoDocument Instruciton
Michael Welch [Thu, 16 Feb 2012 02:43:40 +0000 (20:43 -0600)] 
Document Instruciton

5 years agoFinish 100% code coverage with unit tests.
Michael Welch [Thu, 16 Feb 2012 02:34:03 +0000 (20:34 -0600)] 
Finish 100% code coverage with unit tests.

5 years agoContinue to refine unit tests.
Michael Welch [Thu, 16 Feb 2012 00:23:16 +0000 (18:23 -0600)] 
Continue to refine unit tests.

5 years agoRefine proof
Michael Welch [Thu, 16 Feb 2012 00:22:56 +0000 (18:22 -0600)] 
Refine proof

5 years agoAdd Moq dll
Michael Welch [Thu, 16 Feb 2012 00:22:37 +0000 (18:22 -0600)] 
Add Moq dll

5 years agoUpdate ProgramStream to use extension method.
Michael Welch [Wed, 15 Feb 2012 15:30:09 +0000 (09:30 -0600)] 
Update ProgramStream to use extension method.

5 years agoUpdate ProgramStream to use extension method.
Michael Welch [Wed, 15 Feb 2012 15:29:11 +0000 (09:29 -0600)] 
Update ProgramStream to use extension method.

5 years agoRename Brackets to String and make FindMatch an extension method.
Michael Welch [Wed, 15 Feb 2012 15:27:58 +0000 (09:27 -0600)] 
Rename Brackets to String and make FindMatch an extension method.

5 years agoFix documentation of Tape and change some names.
Michael Welch [Wed, 15 Feb 2012 15:27:42 +0000 (09:27 -0600)] 
Fix documentation of Tape and change some names.

5 years agoAdd definition of matching brackets to proof.
Michael Welch [Wed, 15 Feb 2012 15:26:51 +0000 (09:26 -0600)] 
Add definition of matching brackets to proof.

5 years agoAdd LoadState and GetState to Tape and remove Wrap
Michael Welch [Wed, 15 Feb 2012 03:26:52 +0000 (21:26 -0600)] 
Add LoadState and GetState to Tape and remove Wrap

The idea here is that we don't want to expose our internals
except thru the use of the GetState method which in effect clones
our state without exposing any of our internal implementaiton details.

Load state allows us to create a new Tape in a prearrange non-default
state.

The use of these two methods allows us to unit test methods like
MoveForward and MoveBackward (and all the others) without having
to resort to side effects. We can call MoveForward on a tape in a known
state, call GetState and confirm that the position changed.

Unit tests updated to pass. Need to write more unit tests to get
100% code coverage on Tape class.

5 years agoChange Tape.Zeros to Tape.Default
Michael Welch [Wed, 15 Feb 2012 02:15:40 +0000 (20:15 -0600)] 
Change Tape.Zeros to Tape.Default

5 years agoAdd a note to Brackets.cs code
Michael Welch [Wed, 15 Feb 2012 02:11:33 +0000 (20:11 -0600)] 
Add a note to Brackets.cs code

5 years agoDelete garbage file: UnitTest1.cs
Michael Welch [Wed, 15 Feb 2012 02:11:16 +0000 (20:11 -0600)] 
Delete garbage file: UnitTest1.cs

5 years agoAdd XML documentation to LinkedListNOde
Michael Welch [Wed, 15 Feb 2012 02:10:59 +0000 (20:10 -0600)] 
Add XML documentation to LinkedListNOde

5 years agoDelete NUnitTests project
Michael Welch [Wed, 15 Feb 2012 02:10:27 +0000 (20:10 -0600)] 
Delete NUnitTests project

5 years agoCreate MSTest tests. Fix some code
Michael Welch [Tue, 14 Feb 2012 23:58:10 +0000 (17:58 -0600)] 
Create MSTest tests. Fix some code

5 years agoMerge remote-tracking branch 'origin/brainmessHaskell' into haskell
Michael Welch [Tue, 14 Feb 2012 21:21:04 +0000 (15:21 -0600)] 
Merge remote-tracking branch 'origin/brainmessHaskell' into haskell

5 years agoExtract out logic out of Tape and ProgramStream
Michael Welch [Tue, 14 Feb 2012 03:03:24 +0000 (21:03 -0600)] 
Extract out logic out of Tape and ProgramStream

Tape had linked list node logic embedded. Pulled that out into
extension methods of LinkedListNode for easier testing.

ProgramStream had embedded logic regarding matching braces. Pulled that
out into a Braces class, again for easier testing.

5 years agoMerge branch 'refactoring'
Michael Welch [Mon, 13 Feb 2012 20:59:44 +0000 (14:59 -0600)] 
Merge branch 'refactoring'

5 years agoMerge refactoring into master
Michael Welch [Mon, 13 Feb 2012 20:58:55 +0000 (14:58 -0600)] 
Merge refactoring into master

5 years agoUpdate code formatting options in solution settings.
Michael Welch [Mon, 13 Feb 2012 20:51:24 +0000 (14:51 -0600)] 
Update code formatting options in solution settings.

5 years agoRemove IExecutionContext from BrainmessCore.csproj
Michael Welch [Mon, 13 Feb 2012 20:51:10 +0000 (14:51 -0600)] 
Remove IExecutionContext from BrainmessCore.csproj

Somehow it was still referencing that file which was removed in
previous commit.

5 years agoUpdate .gitignore to ignore vim temp files.
Michael Welch [Mon, 13 Feb 2012 20:50:41 +0000 (14:50 -0600)] 
Update .gitignore to ignore vim temp files.

5 years agoEdit proof document for clarity and consistency.
Michael Welch [Mon, 13 Feb 2012 20:36:59 +0000 (14:36 -0600)] 
Edit proof document for clarity and consistency.

5 years agoRemove IExecutionContext concept
Michael Welch [Mon, 13 Feb 2012 01:01:51 +0000 (19:01 -0600)] 
Remove IExecutionContext concept

5 years agoAdd test files to .gitignore
Michael Welch [Mon, 13 Feb 2012 00:46:47 +0000 (18:46 -0600)] 
Add test files to .gitignore

5 years agoAdd proof document
Michael Welch [Sun, 12 Feb 2012 16:10:26 +0000 (10:10 -0600)] 
Add proof document

5 years agoCreate execution context and write tests for Instructions.
Michael Welch [Sun, 12 Feb 2012 04:28:47 +0000 (22:28 -0600)] 
Create execution context and write tests for Instructions.

The IExecutionContext makes the tests easier to write - once I have a
decent mock framework. But it does add some additional abstraction,
obviously.

5 years agoWrite unit tests for Tape class. Finish XML docs for Tape class.
Michael Welch [Sun, 12 Feb 2012 02:29:37 +0000 (20:29 -0600)] 
Write unit tests for Tape class. Finish XML docs for Tape class.

5 years agoFix formatting of BrainmessCore classes and incorporate guid changes performed by...
Michael Welch [Sat, 11 Feb 2012 23:50:44 +0000 (17:50 -0600)] 
Fix formatting of BrainmessCore classes and incorporate guid changes performed by visual studio

5 years agoFix naming of BrainmessCore
Michael Welch [Sat, 11 Feb 2012 23:46:16 +0000 (17:46 -0600)] 
Fix naming of BrainmessCore

5 years agoAdd unit test project
Michael Welch [Sat, 11 Feb 2012 23:43:10 +0000 (17:43 -0600)] 
Add unit test project

5 years agoRename solution and reograinize file structure
Michael Welch [Sat, 11 Feb 2012 23:22:17 +0000 (17:22 -0600)] 
Rename solution and reograinize file structure

5 years agoRename and divide into two projects. One is core and that can be 100% unit tested...
Michael Welch [Sat, 11 Feb 2012 23:14:08 +0000 (17:14 -0600)] 
Rename and divide into two projects. One is core and that can be 100% unit tested. The other is the console app.

5 years agoUpdate .gitignore
Michael Welch [Sat, 11 Feb 2012 22:58:40 +0000 (16:58 -0600)] 
Update .gitignore

5 years agoCreate Interpreter class
Michael Welch [Sat, 11 Feb 2012 18:15:53 +0000 (12:15 -0600)] 
Create Interpreter class

5 years agoCreate Instruction class and update fetch/execute loop to use it
Michael Welch [Sat, 11 Feb 2012 18:07:42 +0000 (12:07 -0600)] 
Create Instruction class and update fetch/execute loop to use it

5 years agoRefactor out Tape fields and members BeforeInstructionClassIntroduced
Michael Welch [Sat, 11 Feb 2012 17:40:05 +0000 (11:40 -0600)] 
Refactor out Tape fields and members

5 years agoRefactor out the program fields and methods into a separate ProgramStream class
Michael Welch [Sat, 11 Feb 2012 17:20:48 +0000 (11:20 -0600)] 
Refactor out the program fields and methods into a separate ProgramStream class

5 years agoUpdate .gitignore InitialOneFileImpl
Michael Welch [Sat, 11 Feb 2012 03:34:01 +0000 (21:34 -0600)] 
Update .gitignore

5 years agoUpgraded to Visual Studio 2010
Michael Welch [Sat, 11 Feb 2012 03:31:45 +0000 (21:31 -0600)] 
Upgraded to Visual Studio 2010

5 years agoWrite comment about the importance of thinking first - not just testing.
Michael Welch [Fri, 10 Feb 2012 04:08:24 +0000 (22:08 -0600)] 
Write comment about the importance of thinking first - not just testing.

5 years agoProve the JumpForward algorithm
Michael Welch [Fri, 10 Feb 2012 04:05:42 +0000 (22:05 -0600)] 
Prove the JumpForward algorithm

5 years agoAdded "proof" of JumpBackward correctness. I think it needs to be
Michael Welch [Fri, 10 Feb 2012 03:28:18 +0000 (21:28 -0600)] 
Added "proof" of JumpBackward correctness. I think it needs to be
tightened up yet. Not positive that it was all proved. But it's a
start.

5 years agoAdd gitignore file
Michael Welch [Sat, 28 Jan 2012 19:23:13 +0000 (13:23 -0600)] 
Add gitignore file

5 years agoAdd BrainMessSimple
Michael Welch [Sat, 28 Jan 2012 19:18:29 +0000 (13:18 -0600)] 
Add BrainMessSimple

6 years agoMerge branch 'brainmessHaskell' of github.com:michaelgwelch/brainmess into brainmessH...
Michael Welch [Fri, 15 Jul 2011 21:43:44 +0000 (16:43 -0500)] 
Merge branch 'brainmessHaskell' of github.com:michaelgwelch/brainmess into brainmessHaskell

6 years agoAdd hello world program. Change ExecutionContext to expect name of program to be...
Michael Welch [Fri, 15 Jul 2011 21:36:37 +0000 (16:36 -0500)] 
Add hello world program. Change ExecutionContext to expect name of program to be passed in.

6 years agoInitial files for brainmess in Haskell
Michael Welch [Mon, 27 Jun 2011 22:18:03 +0000 (17:18 -0500)] 
Initial files for brainmess in Haskell

6 years agoAdd hello world program. Change ExecutionContext to expect name of program to be...
Michael Welch [Fri, 15 Jul 2011 21:36:37 +0000 (16:36 -0500)] 
Add hello world program. Change ExecutionContext to expect name of program to be passed in.

6 years agoFix jumpForward. Both the if branch and the else branch where checking for same char.
Michael Welch [Fri, 15 Jul 2011 16:06:37 +0000 (09:06 -0700)] 
Fix jumpForward. Both the if branch and the else branch where checking for same char.

6 years agoInitial files for brainmess in Haskell
Michael Welch [Mon, 27 Jun 2011 22:18:03 +0000 (17:18 -0500)] 
Initial files for brainmess in Haskell

6 years agoAdd first version of brainmess
Michael Welch [Sun, 26 Jun 2011 23:38:53 +0000 (18:38 -0500)] 
Add first version of brainmess