ad2e79caa6582e64490ecc8c0d583e8ad1a3d13b
[yangtools.git] /
1 /*
2  * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 /**
9  * Intermediate representation of a YANG file. This is an Abstract Syntax Tree equivalent to ParseTree we get from
10  * ANTLR, except it is immutable and has a denser in-memory representation due to it not containing any metadata which
11  * is not required for the purposes of statement inference.
12  *
13  * <p>
14  * The main entry point into this package is {@link org.opendaylight.yangtools.yang.parser.rfc7950.ir.IRStatement},
15  * which represents a single YANG statement. Every YANG file is required to contain exactly one top-level statement,
16  * {@code module} or {@code submodule}, hence an IRStatement also represents the significant contents of a YANG file.
17  * One way of creating an IRStatement is through
18  * {@link org.opendaylight.yangtools.yang.parser.rfc7950.ir.AntlrSupport#createStatement(
19  * org.opendaylight.yangtools.yang.parser.antlr.YangStatementParser.FileContext)}.
20  */
21 package org.opendaylight.yangtools.yang.parser.rfc7950.ir;