Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

RemoveButton.java

Blame
  • LabComm.ast 1.39 KiB
    Specification ::= Decl*;
    
    abstract Decl ::= TypeInstance /Signature/;
    
    TypeInstance ::= DataType Annotations;
    
    Annotations ::= Annotation*;
    Annotation ::= <Key:String> <Value:byte[]>;
    
    Intention : Annotation;
    DocString : Annotation;
    
    TypeDecl   : Decl;
    SampleDecl : Decl;
    
    //Signatures are in the abstract grammar, so that
    //they can be extended and refined by aspects.
    
    Signature                 ::= SignatureList FlatSignatureList:SignatureList;
    SignatureList             ::= SignatureLine*;
    abstract SignatureLine 	  ::= <Indent:int> <Comment:String>;
    abstract DataSignatureLine : SignatureLine;
    ByteArraySignatureLine     : DataSignatureLine ::= <Data:byte[]>;
    IntSignatureLine           : DataSignatureLine ::= <Data:int>;
    StringSignatureLine        : DataSignatureLine ::= <Data:String>;
    IntentionSignatureLine     : DataSignatureLine ::= Intention* ;
    TypeRefSignatureLine       : SignatureLine     ::= Decl;
    
    Field : TypeInstance;
    
    abstract DataType;
    VoidType           : DataType;
    //SampleRefType      : DataType;
    PrimType           : DataType ::= <Name:String> <Token:int>;
    UserType           : DataType ::= <Name:String>;
    StructType         : DataType ::= Field*;
    ParseArrayType     : DataType ::= DataType Dim*;
    abstract ArrayType : DataType ::= DataType Dim;
    VariableArrayType  : ArrayType;
    FixedArrayType     : ArrayType;
    
    Dim ::= Exp*;
    
    abstract Exp;
    IntegerLiteral : Exp ::= <Value:String>;
    VariableSize   : Exp;