diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..1bb046f --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..2ea37a0 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Corgi/Parser.java b/Corgi/Parser.java index 0967187..3dd6050 100644 --- a/Corgi/Parser.java +++ b/Corgi/Parser.java @@ -179,13 +179,35 @@ public class Parser { }// - //private Node parseFuncDefs() {} + private Node parseFuncDefs() { + System.out.println("-----> parsing "); - //private Node parseFuncDef() {} + Node first = parseFuncDef(); - //private Node parseParams() {} + // look ahead to see if there are more function's + Token token = lex.getNextToken(); - //private Node parseArgs() {} + if ( token.isKind("eof") ) { + return new Node( "stmts", first, null, null ); + } + else { + lex.putBackToken( token ); + Node second = parseFuncDefs(); + return new Node( "stmts", first, second, null ); + } + } + + private Node parseFuncDef() { + System.out.println("-----> parsing "); + } + + private Node parseParams() { + System.out.println("-----> parsing "); + } + + private Node parseArgs() { + System.out.println("-----> parsing "); + } // check whether token is correct kind and details private void errorCheck( Token token, String kind, String details ) { diff --git a/PPL-Fall-2018.iml b/PPL-Fall-2018.iml new file mode 100644 index 0000000..833cc08 --- /dev/null +++ b/PPL-Fall-2018.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file