some query examples are modified and try to add AS in grammar (not successfully one)
This commit is contained in:
parent
f79add5633
commit
1a6676e240
@ -9,8 +9,11 @@ namespace ast
|
||||
|
||||
struct Identifier : public AstNode<Identifier>
|
||||
{
|
||||
Identifier(std::string name) : name(name) {}
|
||||
Identifier(std::string name, std::string alias)
|
||||
: name(name), alias(alias) {}
|
||||
|
||||
std::string name;
|
||||
std::string alias;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -316,7 +316,14 @@ expr(E) ::= idn(I) DOT idn(P). {
|
||||
%type idn {ast::Identifier*}
|
||||
|
||||
idn(I) ::= IDN(X). {
|
||||
I = ast->create<ast::Identifier>(X->value);
|
||||
I = ast->create<ast::Identifier>(X->value, "");
|
||||
}
|
||||
|
||||
/*
|
||||
not the best idea TODO: how to put AS into the grammar
|
||||
*/
|
||||
idn(I) ::= IDN(X) AS IDN(A). {
|
||||
I = ast->create<ast::Identifier>(X->value, A->value);
|
||||
}
|
||||
|
||||
expr(E) ::= INT(V). {
|
||||
|
@ -116,6 +116,7 @@ public:
|
||||
{
|
||||
auto entry = printer.advance();
|
||||
entry << "Identifier '" << idn.name << "'";
|
||||
entry << " Alias '" << idn.alias << "'";
|
||||
}
|
||||
|
||||
void visit(ast::Return& return_clause) override
|
||||
|
@ -1 +1 @@
|
||||
MATCH (user:User { name: 'Dominik', age: 8 + 4})-[has:HAS|IS|CAN { duration: 'PERMANENT'}]->(item:Item)--(shop)
|
||||
MATCH (user:User { name: 'Dominik', age: 8 + 4})-[has:HAS|IS|CAN { duration: 'PERMANENT'}]->(item:Item)--(shop) RETURN shop
|
||||
|
@ -1 +1 @@
|
||||
MATCH (n)-->(m)
|
||||
MATCH (n)-->(m) RETURN n
|
||||
|
@ -1 +1 @@
|
||||
OPTIONAL MATCH (n)-[r]->(m)
|
||||
OPTIONAL MATCH (n)-[r]->(m) RETURN n
|
||||
|
@ -1 +1 @@
|
||||
MATCH p = (n)-->(m)
|
||||
MATCH p = (n:Person)-->(m:Dog {name: 'Bos'}) RETURN p
|
||||
|
@ -1 +1 @@
|
||||
MATCH (n {name:'Alice'})-->(m)
|
||||
MATCH (n {name:'Alice'})-->(m) RETURN m
|
||||
|
@ -1 +1 @@
|
||||
MATCH (n:Person)-[:KNOWS]->(m:Person) WHERE n.name="Alice"
|
||||
MATCH (n:Person)-[:KNOWS]->(m:Person) WHERE n.name="Alice" RETURN m
|
||||
|
Loading…
Reference in New Issue
Block a user