Adam Sampson
|
94e3bcd7fe
|
Recast the driver and most of the components into the PassM monad
|
2007-04-25 16:42:17 +00:00 |
|
Adam Sampson
|
e64fa81f83
|
Fix function arg parsing, and remove a non-useful failed subscript error
|
2007-04-25 15:52:21 +00:00 |
|
Adam Sampson
|
a04ba6087c
|
Nicer production names
|
2007-04-25 13:07:53 +00:00 |
|
Adam Sampson
|
f2a9093a4f
|
Big parser rework part 2: proper type checking and inference
|
2007-04-25 13:03:30 +00:00 |
|
Adam Sampson
|
a1f045260b
|
Big parser rework: remove all the extraneous "try" calls in favour of more specific commits
|
2007-04-25 01:33:30 +00:00 |
|
Adam Sampson
|
2383345f88
|
Make all the Types functions monadic; make Errors useful
|
2007-04-24 21:49:03 +00:00 |
|
Adam Sampson
|
ccda7402e2
|
Move path stuff into a Utils module, and show basenames in metadata
|
2007-04-24 12:52:13 +00:00 |
|
Adam Sampson
|
f38d548c33
|
Make Meta a simple structure
|
2007-04-21 02:54:08 +00:00 |
|
Adam Sampson
|
f701e4bf8a
|
Reorganise TODO
|
2007-04-21 02:42:15 +00:00 |
|
Adam Sampson
|
ff01ddc8c8
|
Support #INCLUDE and #USE
|
2007-04-20 23:44:38 +00:00 |
|
Adam Sampson
|
c39d7ee237
|
Constant expression evaluation
|
2007-04-20 21:15:36 +00:00 |
|
Adam Sampson
|
a49b884d48
|
Better option handling and print passes as they're executed
|
2007-04-20 16:51:54 +00:00 |
|
Adam Sampson
|
05aad0602c
|
Allow SIZE cs, where cs is an array of channels or timers or ports
This isn't in the occam2 ordered syntax, but it's very common in occam2 code,
so I assume it's not an intentional omission.
|
2007-04-19 16:49:12 +00:00 |
|
Adam Sampson
|
e610e85a8a
|
Implement functions, and fix parsing of function calls
|
2007-04-19 15:48:19 +00:00 |
|
Adam Sampson
|
4b9e3a1ed5
|
Identify and deal with constant expressions/variables
|
2007-04-19 00:17:02 +00:00 |
|
Adam Sampson
|
9ed003f9e3
|
Add NoSpecification to AST, to make passes simpler
|
2007-04-18 23:13:56 +00:00 |
|
Adam Sampson
|
4c6cda3226
|
Make Specification a proper data type
|
2007-04-14 01:45:25 +00:00 |
|
Adam Sampson
|
5840659ade
|
Implement array slices
|
2007-04-13 17:34:09 +00:00 |
|
Adam Sampson
|
7f18241afb
|
RECORD and PACKED RECORD support
|
2007-04-13 15:53:00 +00:00 |
|
Adam Sampson
|
b75d13598a
|
Make subscript parsing type-aware, and add typed expressions for bools and integers
|
2007-04-13 02:50:47 +00:00 |
|
Adam Sampson
|
3f45d38f15
|
Lots more stuff implemented -- tagged and count protocols, CASE, rep PAR
|
2007-04-13 01:35:09 +00:00 |
|
Adam Sampson
|
dec538e951
|
TLP support, KRoC wrapper to link against, and Process *me support -- commstime works :)
|
2007-04-12 17:21:12 +00:00 |
|
Adam Sampson
|
fd1f559d5c
|
Nearer to getting code to compile -- now needs constant pullups
|
2007-04-12 03:09:11 +00:00 |
|
Adam Sampson
|
f1c17bea50
|
More arrays work -- now producing a reasonable-looking commstime
|
2007-04-12 02:30:26 +00:00 |
|
Adam Sampson
|
2e9a7e8bd6
|
Do away with the channel/variable distinction
|
2007-04-11 19:41:42 +00:00 |
|
Adam Sampson
|
74efa43389
|
Work towards getting arrays working -- needs a cleanup, though
|
2007-04-11 17:08:16 +00:00 |
|
Adam Sampson
|
6085cae11f
|
Use AbbrevMode to track whether things are abbreviated, and thus generate C
|
2007-04-10 22:12:53 +00:00 |
|
Adam Sampson
|
8d3f8153eb
|
Nicer nonce naming; generate PAR
|
2007-04-10 20:13:09 +00:00 |
|
Adam Sampson
|
41edc0008b
|
Free name removal
|
2007-04-08 03:03:22 +00:00 |
|
Adam Sampson
|
f0e25bec2d
|
Wrap PAR subprocesses, and add some Haddock
|
2007-04-07 16:08:31 +00:00 |
|
Adam Sampson
|
74b2d6d9b9
|
More work
|
2007-04-07 14:33:58 +00:00 |
|
Adam Sampson
|
77cef723ec
|
AbbrevMode support
|
2007-04-07 11:57:12 +00:00 |
|
Adam Sampson
|
222ba593c7
|
More early commit changes
|
2007-04-05 18:21:57 +00:00 |
|
Adam Sampson
|
fc1eee669c
|
Commit earlier on ? CASE
|
2007-04-05 18:02:40 +00:00 |
|
Adam Sampson
|
667731f892
|
Fix the case output ambiguity
|
2007-04-05 17:37:45 +00:00 |
|
Adam Sampson
|
0bf57b0222
|
Tidier original name handling; slightly better errors
|
2007-04-05 11:21:32 +00:00 |
|
Adam Sampson
|
9fd0ea58a1
|
Do port output too
|
2007-04-05 01:21:16 +00:00 |
|
Adam Sampson
|
7c9036ac9b
|
Track the types of all defined names properly
|
2007-04-05 01:14:14 +00:00 |
|
Adam Sampson
|
95af38e652
|
Handle whitespace better
|
2007-03-18 02:34:31 +00:00 |
|
Adam Sampson
|
4be72cbb24
|
Move indentation parsing out to its own module
|
2007-03-18 01:51:41 +00:00 |
|
Adam Sampson
|
5e8076cab5
|
Fix string parsing
|
2007-03-18 01:46:47 +00:00 |
|
Adam Sampson
|
69c1c04e84
|
Add function for testing parser productions
|
2007-03-18 01:46:31 +00:00 |
|
Adam Sampson
|
4005c6e31d
|
Cleaner indentation parsing: put markers at end of line
|
2007-03-18 01:22:24 +00:00 |
|
Adam Sampson
|
88ea5303ff
|
Tidy up error reporting (still based on error for now, though)
|
2007-03-18 00:48:02 +00:00 |
|
Adam Sampson
|
da7667de62
|
Kill extraneous brackets
|
2007-03-17 14:46:15 +00:00 |
|
Adam Sampson
|
e2f4fe1c45
|
Don't scope tag names for now, and fix "foo ! CASE foo" parsing
|
2007-03-17 14:37:24 +00:00 |
|
Adam Sampson
|
4c20041ff4
|
Add state while parsing, and track/map names
|
2007-03-16 01:28:46 +00:00 |
|
Adam Sampson
|
7f5d5e1891
|
Separate out the different types of name
|
2007-03-14 16:06:55 +00:00 |
|
Adam Sampson
|
704aabac17
|
Reorganise and add folds
|
2007-03-14 05:29:44 +00:00 |
|
Adam Sampson
|
5b7ee6f3a4
|
" ; " -> "; "
|
2007-03-14 04:44:39 +00:00 |
|