Skip to content

Commit

Permalink
Merge pull request #138 from DimitriPlotnikov/master
Browse files Browse the repository at this point in the history
Cleanup pom and fix grammar.
  • Loading branch information
Plotnikov committed Apr 30, 2016
2 parents 400908c + a3d10d9 commit 1119127
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 23 deletions.
7 changes: 1 addition & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -205,12 +205,7 @@
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>${groovy.version}</version>
</dependency><dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
</dependency>

</dependencies>

Expand Down
25 changes: 12 additions & 13 deletions src/main/grammars/org/nest/Commons.mc4
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,18 @@ package org.nest;
grammar Commons extends de.monticore.types.Types {

token SL_COMMENT =
"#" (~('\n' |
'\r' )
)*
('\n' |
'\r' ('\n' )?
)?
: {_channel = HIDDEN;
if (getCompiler() != null) {
de.monticore.ast.Comment _comment = new de.monticore.ast.Comment(getText());
_comment.set_SourcePositionStart(new de.se_rwth.commons.SourcePosition(getLine(), getCharPositionInLine()));
_comment.set_SourcePositionEnd(getCompiler().computeEndPosition(getToken()));
getCompiler().addComment(_comment);
}};
"#" (~('\n' |
'\r' )
)* :
{ _channel = HIDDEN;
if (getCompiler() != null) {
de.monticore.ast.Comment _comment = new de.monticore.ast.Comment(getText());
de.se_rwth.commons.SourcePosition startPos = new de.se_rwth.commons.SourcePosition(_tokenStartLine, _tokenStartCharPositionInLine);
_comment.set_SourcePositionStart(startPos);
_comment.set_SourcePositionEnd(getCompiler().computeEndPosition(startPos, getText()));
getCompiler().addComment(_comment);
}
};

token NEWLINE = ('\r' '\n' | '\r' | '\n' );

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.nest.commons._ast.ASTExpr;
import org.nest.commons._ast.ASTFunctionCall;
import org.nest.commons._ast.ASTVariable;
import org.nest.utils.ASTNodes;

import java.util.List;

Expand Down Expand Up @@ -39,6 +40,11 @@ public ExpressionsPrettyPrinter(final IReferenceConverter referenceConverter) {
public String print(final ASTExpr expr) {
checkNotNull(expr);

return doPrint(expr) + ASTNodes.printComment(expr);

}

private String doPrint(final ASTExpr expr) {
if (expr.getNumericLiteral().isPresent()) { // number
return typesPrinter().prettyprint(expr.getNumericLiteral().get());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,16 @@
package org.nest.spl.prettyprinter;

import org.junit.Test;
import org.nest.commons._ast.ASTExpr;
import org.nest.nestml._parser.NESTMLParser;
import org.nest.spl._ast.ASTSPLFile;
import org.nest.spl._parser.SPLParser;
import org.nest.spl.symboltable.SPLScopeCreator;
import org.nest.utils.ASTNodes;

import java.io.IOException;
import java.io.StringReader;
import java.util.List;
import java.util.Optional;

import static org.junit.Assert.assertTrue;
Expand All @@ -35,8 +40,15 @@ public void testThatPrettyPrinterProducesParsableOutput() throws IOException {
SPLScopeCreator splScopeCreator = new SPLScopeCreator(TEST_MODEL_PATH);
splScopeCreator.runSymbolTableCreator(root.get());// do I need symbol table for the pretty printer

expressionsPrettyPrinter.print(root.get().getBlock().getStmts().get(4).getSimple_Stmt().get()
.getSmall_Stmts().get(0).getDeclaration().get().getExpr().get());
final NESTMLParser parser = new NESTMLParser();
final List<ASTExpr> expressions = ASTNodes.getAll(root.get(), ASTExpr.class);
for(final ASTExpr expr:expressions) {
final String printedExpression = expressionsPrettyPrinter.print(expr);

System.out.println(printedExpression);
final Optional<ASTExpr> testant = parser.parseExpr(new StringReader(printedExpression));
assertTrue(testant.isPresent());
}
}

}
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
module org.nest.spl.parsing.complexExpressions
C_m pF = 250.0
# it is a post commet 2
C_m pF = 250.0 # it is a post commet 2
# it is a post commet 2
tau_m ms = 10.0
tau_syn_ex ms = 2.0
#P11ex real = E ** (-h / tau_syn_ex) TODO
# TODO P21ex real = tau_m / (C_m * (1.0 - tau_m / tau_syn_ex)) * P11ex * (1.0 - pow(E, (h * (1.0 / tau_syn_ex - 1.0 / tau_m))))
t_ref ms = 2s
RefractoryCounts integer = steps(t_ref)
print("" + ((( C_m | (-3+6%2) & ~(0x4fa) | 0x23) >> 2) << 2))
# it is a pre-comment 1
print("" + ((( C_m | (-3+6%2) & ~(0x4fa) | 0x23) >> 2) << 2)) # it is a post comment 1
# it is a post commet 2

0 comments on commit 1119127

Please sign in to comment.