Opened 17 years ago
Closed 17 years ago
#26 closed defect (fixed)
Error in front-end on factorial example
| Reported by: | Stephen Siegel | Owned by: | ywei |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | front | Version: | 1.0 |
| Keywords: | factorial parse function else | Cc: |
Description
frederic:factorial siegel$ cat factorialSpec.mmp
input int N {N>=0 && N<5};
output int result;
int f(int k) {
if (k==0) {
return 1;
} else {
return k*f(k-1);
}
}
void main() {
result = f(N);
}
frederic:factorial siegel$ tass verify factorialSpec.mmp
MiniMP version 1.0
URL: http://vsl.cis.udel.edu
Minimp initialized with 1 process
Program runs in verify mode.
line 7:4 mismatched input 'else' expecting RCURLY
Program parsed succesfully.
Exception in thread "main" java.lang.NullPointerException: Null callee
at edu.udel.cis.vsl.minimp.model.impl.statement.InvocationStatement.<init>(InvocationStatement.java:37)
at edu.udel.cis.vsl.minimp.model.impl.Model.newInvocationStatement(Model.java:309)
at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processInvocationStmt(ModelBuilder.java:673)
at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processStatement(ModelBuilder.java:489)
at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processStatementList(ModelBuilder.java:449)
at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processFunctionBody(ModelBuilder.java:411)
at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processFunctions(ModelBuilder.java:386)
at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processAST(ModelBuilder.java:244)
at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.buildModel(ModelBuilder.java:237)
at edu.udel.cis.vsl.minimp.Minimp.verify(Minimp.java:273)
at edu.udel.cis.vsl.minimp.Minimp.main(Minimp.java:389)
frederic:factorial siegel$
Note:
See TracTickets
for help on using tickets.

Function calls cannot occur in expressions. But even after fixing that, the error remains.