[
  {"type":"Comment","value":"## Simple AMPL example for tests"},
  {"type":"Text","value":"\n\n"},
  {"type":"Comment","value":"# Sourced from: https://ampl.com/mo-book/notebooks/01/production-planning-advanced.html"},
  {"type":"Text","value":"\n\n"},
  {"type":"Comment","value":"# define sets"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"set"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"PRODUCTS"},
  {"type":"Punctuation","value":";"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordType","value":"ordered"},
  {"type":"Text","value":" "},
  {"type":"KeywordDeclaration","value":"set"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"RESOURCES"},
  {"type":"Punctuation","value":";"},
  {"type":"Text","value":"\n\n"},
  {"type":"Comment","value":"# define parameters"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"param"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"demand"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"PRODUCTS"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003e="},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"0"},
  {"type":"Punctuation","value":";"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"param"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"price"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"PRODUCTS"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003e"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"0"},
  {"type":"Punctuation","value":";"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"param"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"available"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"RESOURCES"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003e="},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"0"},
  {"type":"Punctuation","value":";"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"param"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"cost"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"RESOURCES"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003e"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"0"},
  {"type":"Punctuation","value":";"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"param"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"need"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"RESOURCES"},
  {"type":"Punctuation","value":","},
  {"type":"Name","value":"PRODUCTS"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003e="},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"0"},
  {"type":"Punctuation","value":";"},
  {"type":"Text","value":"\n\n"},
  {"type":"Comment","value":"# define variables"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"var"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"Use"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"r"},
  {"type":"Text","value":" "},
  {"type":"KeywordReserved","value":"in"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"RESOURCES"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003e="},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"0"},
  {"type":"Punctuation","value":","},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003c="},
  {"type":"Text","value":" "},
  {"type":"Name","value":"available"},
  {"type":"Punctuation","value":"["},
  {"type":"Name","value":"r"},
  {"type":"Punctuation","value":"];"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"var"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"Sell"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"p"},
  {"type":"Text","value":" "},
  {"type":"KeywordReserved","value":"in"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"PRODUCTS"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003e="},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"0"},
  {"type":"Punctuation","value":","},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003c="},
  {"type":"Text","value":" "},
  {"type":"Name","value":"demand"},
  {"type":"Punctuation","value":"["},
  {"type":"Name","value":"p"},
  {"type":"Punctuation","value":"];"},
  {"type":"Text","value":"\n\n"},
  {"type":"Comment","value":"# define objective function"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"maximize"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"Profit"},
  {"type":"Punctuation","value":":"},
  {"type":"Text","value":"\n   "},
  {"type":"OperatorWord","value":"sum"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"p"},
  {"type":"Text","value":" "},
  {"type":"KeywordReserved","value":"in"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"PRODUCTS"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"price"},
  {"type":"Punctuation","value":"["},
  {"type":"Name","value":"p"},
  {"type":"Punctuation","value":"]"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"*"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"Sell"},
  {"type":"Punctuation","value":"["},
  {"type":"Name","value":"p"},
  {"type":"Punctuation","value":"]"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"-"},
  {"type":"Text","value":"\n   "},
  {"type":"OperatorWord","value":"sum"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"r"},
  {"type":"Text","value":" "},
  {"type":"KeywordReserved","value":"in"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"RESOURCES"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"cost"},
  {"type":"Punctuation","value":"["},
  {"type":"Name","value":"r"},
  {"type":"Punctuation","value":"]"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"*"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"Use"},
  {"type":"Punctuation","value":"["},
  {"type":"Name","value":"r"},
  {"type":"Punctuation","value":"];"},
  {"type":"Text","value":"\n\n"},
  {"type":"Comment","value":"# create indexed constraint"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordDeclaration","value":"subject to"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ResourceLimit"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"r"},
  {"type":"Text","value":" "},
  {"type":"KeywordReserved","value":"in"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"RESOURCES"},
  {"type":"Punctuation","value":"}:"},
  {"type":"Text","value":"\n   "},
  {"type":"OperatorWord","value":"sum"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Name","value":"p"},
  {"type":"Text","value":" "},
  {"type":"KeywordReserved","value":"in"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"PRODUCTS"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"need"},
  {"type":"Punctuation","value":"["},
  {"type":"Name","value":"r"},
  {"type":"Punctuation","value":","},
  {"type":"Name","value":"p"},
  {"type":"Punctuation","value":"]"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"*"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"Sell"},
  {"type":"Punctuation","value":"["},
  {"type":"Name","value":"p"},
  {"type":"Punctuation","value":"]"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003c="},
  {"type":"Text","value":" "},
  {"type":"Name","value":"Use"},
  {"type":"Punctuation","value":"["},
  {"type":"Name","value":"r"},
  {"type":"Punctuation","value":"];"},
  {"type":"Text","value":"\n"}
]
