config/sublime/Packages/OCaml/OCamlyacc.tmLanguage
2012-08-01 21:04:05 -07:00

532 lines
12 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>mly</string>
</array>
<key>foldingStartMarker</key>
<string>%{|%%</string>
<key>foldingStopMarker</key>
<string>%}|%%</string>
<key>keyEquivalent</key>
<string>^~O</string>
<key>name</key>
<string>OCamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(%{)\s*$</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.header.begin.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>^\s*(%})</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.header.end.ocamlyacc</string>
</dict>
</dict>
<key>name</key>
<string>meta.header.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.ocaml</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;=%})\s*$</string>
<key>end</key>
<string>(?:^)(?=%%)</string>
<key>name</key>
<string>meta.declarations.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
<dict>
<key>include</key>
<string>#declaration-matches</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(%%)\s*$</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.rules.begin.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>^\s*(%%)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.rules.end.ocamlyacc</string>
</dict>
</dict>
<key>name</key>
<string>meta.rules.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
<dict>
<key>include</key>
<string>#rules</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>source.ocaml</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
<dict>
<key>match</key>
<string>(||“|”)</string>
<key>name</key>
<string>invalid.illegal.unrecognized-character.ocaml</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>comments</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>/\*</string>
<key>end</key>
<string>\*/</string>
<key>name</key>
<string>comment.block.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?=[^\\])(")</string>
<key>end</key>
<string>"</string>
<key>name</key>
<string>comment.block.string.quoted.double.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\])</string>
<key>name</key>
<string>comment.block.string.constant.character.escape.ocamlyacc</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>declaration-matches</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(%)(token)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.decorator.token.ocamlyacc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.token.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>^\s*($|(^\s*(?=%)))</string>
<key>name</key>
<string>meta.token.declaration.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#symbol-types</string>
</dict>
<dict>
<key>match</key>
<string>[A-Z][A-Za-z0-9_]*</string>
<key>name</key>
<string>entity.name.type.token.ocamlyacc</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(%)(left|right|nonassoc)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.decorator.token.associativity.ocamlyacc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.token.associativity.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>(^\s*$)|(^\s*(?=%))</string>
<key>name</key>
<string>meta.token.associativity.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>[A-Z][A-Za-z0-9_]*</string>
<key>name</key>
<string>entity.name.type.token.ocamlyacc</string>
</dict>
<dict>
<key>match</key>
<string>[a-z][A-Za-z0-9_]*</string>
<key>name</key>
<string>entity.name.function.non-terminal.reference.ocamlyacc</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(%)(start)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.decorator.start-symbol.ocamlyacc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.start-symbol.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>(^\s*$)|(^\s*(?=%))</string>
<key>name</key>
<string>meta.start-symbol.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>[a-z][A-Za-z0-9_]*</string>
<key>name</key>
<string>entity.name.function.non-terminal.reference.ocamlyacc</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(%)(type)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.decorator.symbol-type.ocamlyacc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.symbol-type.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>$\s*(?!%)</string>
<key>name</key>
<string>meta.symbol-type.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#symbol-types</string>
</dict>
<dict>
<key>match</key>
<string>[A-Z][A-Za-z0-9_]*</string>
<key>name</key>
<string>entity.name.type.token.reference.ocamlyacc</string>
</dict>
<dict>
<key>match</key>
<string>[a-z][A-Za-z0-9_]*</string>
<key>name</key>
<string>entity.name.function.non-terminal.reference.ocamlyacc</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>precs</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.decorator.precedence.ocamlyacc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.precedence.ocamlyacc</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>entity.name.function.non-terminal.reference.ocamlyacc</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>entity.name.type.token.reference.ocamlyacc</string>
</dict>
</dict>
<key>match</key>
<string>(%)(prec)\s+(([a-z][a-zA-Z0-9_]*)|(([A-Z][a-zA-Z0-9_]*)))</string>
<key>name</key>
<string>meta.precidence.declaration</string>
</dict>
</array>
</dict>
<key>references</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>[a-z][a-zA-Z0-9_]*</string>
<key>name</key>
<string>entity.name.function.non-terminal.reference.ocamlyacc</string>
</dict>
<dict>
<key>match</key>
<string>[A-Z][a-zA-Z0-9_]*</string>
<key>name</key>
<string>entity.name.type.token.reference.ocamlyacc</string>
</dict>
</array>
</dict>
<key>rule-patterns</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>((?&lt;!\||:)(\||:)(?!\||:))</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.separator.rule.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>\s*(?=\||;)</string>
<key>name</key>
<string>meta.rule-match.ocaml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#precs</string>
</dict>
<dict>
<key>include</key>
<string>#semantic-actions</string>
</dict>
<dict>
<key>include</key>
<string>#references</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>rules</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>[a-z][a-zA-Z_]*</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>entity.name.function.non-terminal.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>;</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.separator.rule.ocamlyacc</string>
</dict>
</dict>
<key>name</key>
<string>meta.non-terminal.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#rule-patterns</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>semantic-actions</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>[^\']({)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.action.semantic.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>(})</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.action.semantic.ocamlyacc</string>
</dict>
</dict>
<key>name</key>
<string>meta.action.semantic.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.ocaml</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>symbol-types</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>&lt;</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.type-declaration.begin.ocamlyacc</string>
</dict>
</dict>
<key>end</key>
<string>&gt;</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.type-declaration.end.ocamlyacc</string>
</dict>
</dict>
<key>name</key>
<string>meta.token.type-declaration.ocamlyacc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.ocaml</string>
</dict>
</array>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.ocamlyacc</string>
<key>uuid</key>
<string>1B59327E-9B82-4B78-9411-BC02067DBDF9</string>
</dict>
</plist>