// Copyright (C) 2009 Calle Laakkonen
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/**
 * @fileoverview
 * Registers a language handler for PIC assembly.
 *
 */
PR.registerLangHandler(
      PR.createSimpleLexer(
          [
           // Comments start with ;
           [PR.PR_COMMENT,     /^;[^\r\n]*/, null, ';'],
           // Whitespace
           [PR.PR_PLAIN,       /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0']
          ],
          [
           [PR.PR_KEYWORD,     /^(?:addwf|andwf|clr[fw]|comf|decf|decfsz|incf|incfsz|iorwf|movw?f|nop|r[rl]f|subwf|swapf|xorwf|bcf|bsf|btfs[sc]|addlw|addwf|call|clrwdt|goto|iorlw|movlw|retfie|retlw|return|sleep|sublw|xorlw)\b/, null],
		   ['par', /^(\d|\w)+/, /,/],
           [PR.PR_LITERAL,
            /^-?(?:0x[\da-f]+|[do]'\d+'|b'[x01]+'|\d+|\$)/i],
		   [PR.PR_PLAIN, /^[a-z_]\w*/i]
          ]),
      ['picasm']);
