These are chat archives for FauxJake/Plover-tube

24th
Nov 2014
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 05:50
the rule to find no parameter functions should be close to done. I have a functionEntry and I store the node. I have an issue where it doesn't accept it if the function is empty.
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 16:21
oh, for the parameter list. It'd just be a bunch of var_declares.
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 16:29
I am now using the addfunctionentry call instead
I also made a rule for detecting functions with parameters
I updated the func_def_parameter list to use var_declare instead of expressions
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 19:35
can any of you meet tonight?
Jacob Riesser
@FauxJake
Nov 24 2014 20:39
I'm in the cafeteria now
So whenever, I plan on staying as long as needed
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 21:04
so with the way func_def_parameter_list is set up now, you should get an ASTNodeVariable which can get you the entry.
Jacob Riesser
@FauxJake
Nov 24 2014 21:08
beautiful, thanks.
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 21:10
I'm going to commit a change I made. I wasn't using the global functionEntry pointer until now.
Jacob Riesser
@FauxJake
Nov 24 2014 21:10
sure thing
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 21:13
oh and I fixed that issue with empty functions so right now we at least parse all function definitions even if the implementation isn't done
Jacob Riesser
@FauxJake
Nov 24 2014 21:14
okay, sure. the tests are still failing, but that should be getting better soon. As for adding parameters, I was thinking that we do that in func_define_parameter_list, since we have the global pointer set
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 21:14
yeah
it should just be cur_func_ptr.AddArg(ASTNodeVariiable.getEntry)
Jacob Riesser
@FauxJake
Nov 24 2014 21:18
The base class will not know about getEntry
also, is it okay to be treating functions like variable nodes?
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 21:19
that's just a placeholder
Jacob Riesser
@FauxJake
Nov 24 2014 21:19
okay
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 21:19
we may need a function node
Jacob Riesser
@FauxJake
Nov 24 2014 21:19
on piazza, Ofria said he recommends two new nodes
a return node and something else
hold on
for calling a function
makes sense.
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 21:20
so a return node and a function cal node
Jacob Riesser
@FauxJake
Nov 24 2014 21:20
I don't think that we want to add any nodes when a function is DEFINED. But we do need to keep track of the statement_list nodes
and add them to the funtion entry
(and not to the main ast)
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 21:21
ok
Jacob Riesser
@FauxJake
Nov 24 2014 21:21
and then the new AST node for calling functions will pretty much just add a jump statement to the TIC
Jacob Riesser
@FauxJake
Nov 24 2014 21:30
I'm creating another rule for function call args lists (WIP) and trying for the define arg list right now.
for keeping track of args... do we even need them to be stored as tableEntry's? couldn't we just store a list of types?
Jacob Riesser
@FauxJake
Nov 24 2014 21:50
Just pushed commit that is relevant
Jacob Riesser
@FauxJake
Nov 24 2014 21:56
And a commit that is not so important after that one( CSE450-MSU/Plover-tube@84c0830)
I'm going to look at implementing Grammer/ASTNode_Call for calling functions next
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 22:39
a list of types may work. Wouldn't we need the entries to set the variables
Jacob Riesser
@FauxJake
Nov 24 2014 22:42
Yeah I went with that and things are starting to fall into place. Dan and I are in Case if you want to join. You'll need headphones though. Almost done with the grammer (fingers crossed) for func calls
TheRobertCarpenter
@TheRobertCarpenter
Nov 24 2014 22:46
where are you at in Case?
Jacob Riesser
@FauxJake
Nov 24 2014 22:46
Booth in the middle by the windows
It;s loud
Jacob Riesser
@FauxJake
Nov 24 2014 22:55
That latest commit doesn't work, hold on