示例#1
0
        public AmlParser.ParseSuccess Parse(AcpiNamespace acpiNamespace, AcpiNamespace.AbsoluteNodePath initialNodePath)
        {
            int offset = 0;

            TermObj[] termList;
            if (new AmlParser(new ByteBufferAmlStreamAdapter(unparsedTermList), acpiNamespace, initialNodePath).
                ParseTermList(out termList, ref offset, unparsedTermList.Length) == AmlParser.ParseSuccess.Failure)
            {
                return(AmlParser.ParseSuccess.Failure);
            }
            Debug.Assert(offset == unparsedTermList.Length, "offset == unparsedTermList.Length");

            AmlToStackIRVisitor amlToStackIRVisitor = new AmlToStackIRVisitor();

            amlToStackIRVisitor.VisitSequence(termList);
            body = amlToStackIRVisitor.Result;

            return(AmlParser.ParseSuccess.Success);
        }
示例#2
0
 public Device(AcpiNamespace.AbsoluteNodePath path)
 {
     this.path = path;
 }
示例#3
0
 public NodePathReference(AcpiNamespace acpiNamespace,
                          AcpiNamespace.AbsoluteNodePath nodePath)
 {
     this.acpiNamespace = acpiNamespace;
     this.nodePath      = nodePath;
 }