Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rule {
- return = "std::vector<std::wstring>"
- name = name_or_qualified_name
- contents
- = identifier [name]
- C++ {
- std::vector<std::wstring> retval;
- retval.push_back(name);
- return retval;
- }
- | name_or_qualified_name [existing] '.' identifier [name]
- C++ {
- existing.push_back(name);
- return existing;
- }
- }
- rule {
- name = namespace_contents
- arguments = {
- current_namespace = "Wide::Parser::NamespaceAST*";
- }
- contents
- = namespace_rule(current_namespace);
- }
- rule {
- name = namespace_rule
- arguments = {
- current_namespace = "Wide::Parser::NamespaceAST*";
- }
- contents
- = 'namespace' identifier[namespace_name] '{'
- C++ {
- auto new_namespace = new NamespaceAST();
- } namespace_contents(new_namespace)* '}'
- C++ {
- current_namespace->contents[namespace_name] = new_namespace;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement