wii
mrmr
knx
|
\/
Router ---> filter
^_________|
|
|
\/
proj RA (Theta Phi)
ProjRB (Theta, Phi)
|
|
\/
Router (same as above)
| _____________________> GRR
| |
|______________>You |
\/ | |
WARP <_________| _______|
|
|
\/
Proj Pix
CS 351
Tuesday, May 1, 2012
Saturday, April 7, 2012
Epic Saturday Session
20 Min Coding Block #1
==================
Now handling precedence ( ie 4+5*2 works -> gave 14)
TREE
+
\
4
\
*
\
5
\
2
14
==================
Now handling precedence ( ie 4+5*2 works -> gave 14)
TREE
+
\
4
\
*
\
5
\
2
14
Newest issue- not handling:
CPAR closing Low Level
Added CLL (need to close low level ) state. Worked it out on paper. Check implementation?
==================
20 Min Coding Block #2
==================
Can handle both a + b * c AND ( a + b ) * c. Added CLL_STATE case in MUL token switch statement. Next, functions?
Pesky issues - case statements need {} if they have variable declarations, but don't forget "BREAK"!!!!
==================
20 Min Coding Block #2
==================
Can handle both a + b * c AND ( a + b ) * c. Added CLL_STATE case in MUL token switch statement. Next, functions?
Pesky issues - case statements need {} if they have variable declarations, but don't forget "BREAK"!!!!
Tuesday, April 3, 2012
April 3
OPR = operation = [+-*/]
CP := )
P:= Expression \n
FuncDescription:= D WT FuncName EQ FuncExpression NL
FN:=name() | name( FuncParameters )
FP := AT name | AT name CO FP
VD:= "S name = E " NL
v:= S name
E:=N | v | OP E CP | FC | E OPR E
FV := AT name (functionVariable)
FC:= FN op cp | name op FuncCallParams cp
FCP := E | E CO FCP
FE = E | FV
WT:= empty space like [\t \r].+ NOT NEW
Number := [0..9].+ (one or more numeric characters) | [0..9].+ '.' [0..9].+
C:= [a...zA..Z]. (one character)
name:= c[a..zA..Z0..9]+
D:= def
================================
isChar(char)
AT := @
S := #
class Token
OPR
CP
OP
V
FV
AT
S
Name
N
CO
EQ
char in[]
int inLen
int pos = 0
Token tokenStream[]
while( !done && pos < inLen)
skipWt( in, inlen, pos ) <------ move past white space in front of token (does not delete white space)
if( isChar ( in[pos] ) )
lexNameorDef(in, inlen, pos) -> tokenStream
elsif( in[pos] == '#' )
tokenStream.add( NewToken (Sharp) );
elsif( in[pos] == '@' )
add(newToken (AT) )
OP
CP
state stacks
top
def
expr
paren
funcCall
FuncCallParams
Add
Sub
Mul
Div
OP:= (
CP := )
P:= Expression \n
FuncDescription:= D WT FuncName EQ FuncExpression NL
FN:=name() | name( FuncParameters )
FP := AT name | AT name CO FP
VD:= "S name = E " NL
v:= S name
E:=N | v | OP E CP | FC | E OPR E
FV := AT name (functionVariable)
FC:= FN op cp | name op FuncCallParams cp
FCP := E | E CO FCP
FE = E | FV
WT:= empty space like [\t \r].+ NOT NEW
Number := [0..9].+ (one or more numeric characters) | [0..9].+ '.' [0..9].+
C:= [a...zA..Z]. (one character)
name:= c[a..zA..Z0..9]+
D:= def
================================
isChar(char)
AT := @
S := #
class Token
OPR
CP
OP
V
FV
AT
S
Name
N
CO
EQ
char in[]
int inLen
int pos = 0
Token tokenStream[]
while( !done && pos < inLen)
skipWt( in, inlen, pos ) <------ move past white space in front of token (does not delete white space)
if( isChar ( in[pos] ) )
lexNameorDef(in, inlen, pos) -> tokenStream
elsif( in[pos] == '#' )
tokenStream.add( NewToken (Sharp) );
elsif( in[pos] == '@' )
add(newToken (AT) )
OP
CP
COM
EQ
EQEQ
eif( in[pos] == '+' || in[pos] == '-' ||
add( newToken (OPR, in[pos] ) )
eif( isNum( in[pos] ) )
lexNumber( in inlen pos ) -> tokenStream
eif( in[pos] == '\n' )
add( new Token (NL) )
=====================
lexNameorDef( in, inlen, pos )
//check for def
if( pos + 2 < inlen )
in[pos] == 'd' && in[ pos + 1] == 'e' && in[ pos+2 ] == 'f' && in[pos+3] == WHITESPACE
pos = pos + 3
return newToken(D)
//name
string name
while( isAlphaNum( in[pos] ) )
name.append( in[pos] )
++ pos;
return newToken(NAME, name)
--pos; ---> because must stop before next token
state stacks
top
def
expr
paren
funcCall
FuncCallParams
Add
Sub
Mul
Div
Tuesday, March 20, 2012
Genetic
R (10) --> R(1)
Genome - set of chromosomes
Fenome - expression of the code
Crossover - A and B mix genomes to yield C
Mutation -
- random bit flip
- deletion
- shuffle
- random
Fitness Functions
Genome - set of chromosomes
Fenome - expression of the code
Crossover - A and B mix genomes to yield C
Mutation -
- random bit flip
- deletion
- shuffle
- random
Fitness Functions
Tuesday, March 6, 2012
Specifications and Requirements
Vending Machine Specifications and Requirements
who are the stake holders?
user?
owner?
product makers
property owner
HIGH LEVEL GOALS
$$
cost of product, machine
demand, creating demand, incentive
availability
Consider:
How to appeal to customers (competitoin)
Automate an interaction
What is the product?
*mechanism, cost, definition of vending machine
Feedback
*selection, price, how to select, warnings, don't-tip-me-over sign
Full range of exceptions/expectations
out of stock/change
invalid input/use
log/record (safety of food)
exception state(s) --> out of order
Security requirements
subversion, intentional misuse
physical and logical
user and operator safety, financial safety
pests and varmints
who are the stake holders?
user?
owner?
product makers
property owner
HIGH LEVEL GOALS
$$
cost of product, machine
demand, creating demand, incentive
availability
Consider:
How to appeal to customers (competitoin)
Automate an interaction
What is the product?
*mechanism, cost, definition of vending machine
Feedback
*selection, price, how to select, warnings, don't-tip-me-over sign
Full range of exceptions/expectations
out of stock/change
invalid input/use
log/record (safety of food)
exception state(s) --> out of order
Security requirements
subversion, intentional misuse
physical and logical
user and operator safety, financial safety
pests and varmints
Thursday, March 1, 2012
Requirements and Development Methods
IEEE 830 Standard
Agile
Formal Methods
Volere
Specifications (Constraints)
-Requirement
-MUST
-OPT
-MUST NOT
API Interface
User Stories
- Semantically speaking, richer and more telling than
Agile
Formal Methods
Volere
Specifications (Constraints)
-Requirement
-MUST
-OPT
-MUST NOT
API Interface
User Stories
- Semantically speaking, richer and more telling than
Tuesday, February 28, 2012
Lab Assignment Feb 28
Assignment:
Using the code we started in lab, alter the method we used to resize the canvas so that a canvas inherits its size from its parent (i.e. the dimensions are not hardcoded and the canvas can easily fill its container (div) )
Test this by creating two canvas elements with different widths.
Using the code we started in lab, alter the method we used to resize the canvas so that a canvas inherits its size from its parent (i.e. the dimensions are not hardcoded and the canvas can easily fill its container (div) )
Test this by creating two canvas elements with different widths.
Subscribe to:
Comments (Atom)